数値 N が与えられた場合、その数値とその最大の奇数桁を乗算する必要があります。奇数の桁がない場合は、-1 を出力します。
N を「153」で初期化し、この数値の最大の奇数桁は 5 であるため、結果は 153 と 5 の積、つまり 153 * になります。 5 = 765 で、数値に 246 のような奇数桁がない場合、出力は -1.
Input − N = 198
Output## となる必要があります。 # − 1782
説明 − 198 * 9 = 1782
入力 − N = 15382
出力 − 76910
説明 − 15382 * 5 = 76910
問題を解決するために以下に使用されるアプローチは次のとおりです。-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 中国語 Web サイトの他の関連記事を参照してください。