Take the input N.
Traverse every digit and look for odd digits
Find the largest odd element.
Product the largest off element with the original number N.
If there is no odd element update result with -1.
Return the result.
Start In function int largestodd(int n) Step 1→ Declare and Initialize large as -1 Step 2→ Loop While n > 0 Set digit as n % 10 If digit % 2 == 1 && digit > large then, Set large as digit Set n as n / 10 Step 3→ Return large In function int findproduct(int n) Step 1→ Declare and Initialize large set largestodd(n) Step 2→ If large == -1 then, Return -1 Step 3→ Return (n * large) In function int main() Step 1→ Initialize n as 15637 Print the results from calling findproduct(n) Stop
演示
#include <stdio.h> int largestodd(int n){ // If all digits are even then // we wil return -1 int large = -1; while (n > 0) { // checking from the last digit int digit = n % 10; // If the current digit is odd and // is greater than the large if (digit % 2 == 1 && digit > large) large = digit; n = n / 10; } // To return the maximum // odd digit of n return large; } int findproduct(int n){ int large = largestodd(n); // If there are no odd digits in n if (large == -1) return -1; // Product of n with its largest odd digit return (n * large); } int main(){ int n = 15637; printf("%d", findproduct(n)); return 0; }
如果运行上述代码,将会生成以下输出−
109459
以上就是N与C中最大的奇数位数的乘积的详细内容,更多请关注php中文网其它相关文章!
已抢23682个
抢已抢118171个
抢已抢139432个
抢已抢6289个
抢已抢36255个
抢已抢66891个
抢