日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

PTA 7-31 掉入陷阱的

發布時間:2023/12/20 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PTA 7-31 掉入陷阱的 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

7-31 掉入陷阱的數字 (15 分)

對任意一個自然數N0,先將其各位數字相加求和,再將其和乘以3后加上1,變成一個新自然數N1??;然后對N1重復這種操作,可以產生新自然數N2;……多次重復這種操作,運算結果最終會得到一個固定不變的數Nk,就像掉入一個數字“陷阱”。

本題要求對輸入的自然數,給出其掉入“陷阱”的過程。

輸入格式:

在一行內給出一個自然數N0(N0?? < 30000)。

輸出格式:

對于輸入的N0??,逐行輸出其掉入陷阱的步驟。第i行描述N掉入陷阱的第i步,格式為: i : Ni?? (i >= 1)。當某一步得到的自然數結果Nk(k > 1)與上一步Nk-1相同時,停止輸出。

輸入樣例:

5

輸出樣例:

1:16
2:22
3:13
4:13

#include<stdio.h> #include<math.h>int numSum(int num); int nums(int num);int main() {int num;int sum = 0;int i = 1;scanf("%d",&num);sum = numSum(num) * 3 + 1;while(num != sum){num = sum;sum = numSum(sum) * 3 + 1;printf("%d:%d\n",i,num);i++;}printf("%d:%d\n",i,sum); }int numSum(int num) {int sum = 0;int mask = 0;int x = pow(10,nums(num));while(x != 0){mask = num / x;sum += mask;num = num % x;x /= 10; } return sum; }int nums(int num) {int count = 0;while(num > 9){num = num / 10;count++;}return count; }

好像網站有點抽風 代碼復制就亂碼 QAQ
代碼的話感覺用函數會簡單一些 有些地方投機取巧(小聲bb)歡迎大佬指點啊

總結

以上是生活随笔為你收集整理的PTA 7-31 掉入陷阱的的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。