给定一个数字 N,我们必须计算其最大奇数位的数字。如果没有奇数位,则打印 -1。
就像我们用“153”初始化 N 一样,这个数字中最大的奇数位是 5,所以结果将是 153 与 5 的乘积,即 153 * 5 = 765 和如果数字没有像 246 这样的奇数,那么输出必须是 -1.
输入 - N = 198
输出 - 1782
解释 - 198 * 9 = 1782
输入 - N = 15382
输出 − 76910
解释 − 15382 * 5 = 76910
取输入N.
遍历每一位数字并寻找奇数位
找到最大的奇数元素。
与原数N乘积最大的off元素。
如果没有奇数元素更新结果为-1。
返回结果。
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</p><p>", findproduct(n)); return 0; }
如果运行上述代码,将会生成以下输出−
109459
以上是N与C中最大的奇数位数的乘积的详细内容。更多信息请关注PHP中文网其他相关文章!