2、牛牛想對一個數做若干次變換,直到這個數只剩下一位數字。 變換的規則是:將這個數變成 所有位數上的數字的乘積。比如285經過一次變換后轉化成2*8*5=80. 問題是,要做多少次變換,使得這個數變成個位


 牛牛想對一個數做若干次變換,直到這個數只剩下一位數字。
變換的規則是:將這個數變成 所有位數上的數字的乘積。比如285經過一次變換后轉化成2*8*5=80.
問題是,要做多少次變換,使得這個數變成個位數。 

輸入描述:
輸入一個整數。小於等於2,000,000,000。

輸出描述:

輸出一個整數,表示變換次數。

 輸入例子:

285

 輸出例子:

2

 1 #include<stdio.h>
 2 #include<stdlib.h>
 3  int main()
 4  {
 5      int n;
 6      scanf("%d",&n);
 7      if(n==0)//n是0,輸出 0次 
 8      printf("0");
 9      else
10      {
11          int result = 1;
12          int count = 0;
13   
14          while(n/10)//n是個位數,輸出0次 
15          {
16              while(n)
17              {
18                  result *= n%10;
19                  n = n/10;
20              }
21              printf("%d\n",result);//輸出每個數字相乘的積,作為新的n,本題中不需要此行的輸出 
22              count++;
23              n = result;
24              result = 1;
25          }
26   
27          printf("%d",count);
28      }
29      return 0;
30  }

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 輸入一個由4位數字組成的整數,把它分解為單個數字,然后輸出每一位數字。 0~9十個數,每個數只能使用一次,組成兩個三位數相加和為四位數的算法 給定一個非負整數 num,反復將各個位上的數字相加,直到結果為一位數。 給定一個非負整數 num,反復將各個位上的數字相加,直到結果為一位數。 給定一個非負整數 num,反復將各個位上的數字相加,直到結果為一位數 排列(permutation) 用1,2,3,…,9組成3個三位數abc,def和ghi,每個數字恰好使用一次,要 求abc:def:ghi=1:2:3。按照“abc def ghi”的格式輸出所有解,每行一個解。 美國數學家維納(N.Wiener)智力早熟,11歲就上了大學。他曾在1935~1936年應邀來中國清華大學講學。 一次,他參加某個重要會議,年輕的臉孔引人注目。於是有人詢問他的年齡,他回答說:我年齡的立方是個4位數。 我年齡的4次方是個6位數。這10個數字正好包含了從0到9這10個數字,每個都恰好出現1次。” 請你推算一下,他當時到底有多年輕。 結果只有一個數。 位運算解決“一個數組中,只有一個數字出現n次,其他數字出現k次”問題 快樂數(編寫一個算法來判斷一個數是不是“快樂數”。 一個“快樂數”定義為:對於一個正整數,每一次將該數替換為它每個位置上的數字的平方和, 然后重復這個過程直到這個數變為 1,也可能是無限循環但始終變不到 1。如果可以變為 1, 那么這個數就是快樂數。) Leetcode練習(Python):哈希表類:第202題:編寫一個算法來判斷一個數 n 是不是快樂數。 「快樂數」定義為:對於一個正整數,每一次將該數替換為它每個位置上的數字的平方和,然后重復這個過程直到這個數變為 1,也可能是 無限循環 但始終變不到 1。如果 可以變為  1,那么這個數就是快樂數。 如果 n 是快樂數就返回 True ;不是,則返回 False 。
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM