首頁 >後端開發 >C++ >N與C中最大的奇數位數的乘積

N與C中最大的奇數位數的乘積

WBOY
WBOY轉載
2023-08-29 13:25:061488瀏覽

N與C中最大的奇數位數的乘積

##給定一個數字 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中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除