角谷定理-XDOJ
標題:角谷定理
問題描述:
角谷定理定義如下:
對於一個大於1的整數n,如果n是偶數,則n = n / 2。如果n是奇數,則n = 3 * n +1,反覆操作後,n一定為1。
例如輸入22的變化過程: 22 ->11 -> 34 -> 17 -> 52 -> 26 -> 13 -> 40 -> 20 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1,資料變化次數為15。
輸入一個大於1的整數,求經過多少次變化可得到自然數1。
輸入說明
輸入為一個整數n,1<n<100000。
輸出說明
輸出變為1需要的次數
輸入樣例
樣例1輸入
22
樣例2輸入
33
輸出樣例
樣例1輸出
15
樣例2輸出
26
思路:因為有明確的結束條件(得到自然數1)所以採用while迴圈最佳;
採用for迴圈則於迴圈內部用if-else判斷是否退出迴圈。
程式碼:
方法一(for迴圈):
#include<stdio.h>
int main(){
int n,count;
scanf("%d", &n);
for(count=0;;count++){
if(n%2==0) n=n/2;
else if(n%2!=0&&n!=1) n=n*3+1;
else break;
}
printf("%d",count);
return 0;
}
方法二(while迴圈):
#include<stdio.h>
int main(){
int n,count=0;
scanf("%d", &n);
while(n!=1){
if(n%2==0){
n=n/2.0;
}
else if(n%2!=0){
n= n*3+1;
}
count++;
} //n=1時退出迴圈
printf("%d",count);
return 0;
}
相關文章
- 洛谷P1602_bfs+同餘定理
- 盧卡斯定理(Lucas定理)
- 洛谷 P1216 數字三角形
- 矩陣樹定理 BEST 定理矩陣
- 矩陣樹定理與BEST定理矩陣
- 主定理
- Coppersmith定理MIT
- 信奧一本通題陳老師解題:1086:角谷猜想
- 奈奎斯特定理與夏農定理
- 用Rolle中值定理證明Lagrange中值定理
- “沒有免費的午餐”定理(NFL定理)
- HDU 5794 A Simple Chess (lucas定理+費馬小定理)
- Lucas定理 & Catalan Number & 中國剩餘定理(CRT)
- BEST 定理與矩陣樹定理的證明矩陣
- 介值定理
- 費馬定理
- 大數定理
- 尤拉定理
- 盧卡斯定理
- 泛函分析筆記(十四)Baire定理,Banach-Steinhaus定理泛函分析筆記AI
- 矩陣樹定理矩陣
- 貝葉斯定理
- Hall定理總結
- 二項式定理
- 算數基本定理
- 威爾遜定理
- Lucas(盧卡斯)定理
- 被日廠放棄的《神角技巧》,谷得遊戲接盤後斬獲9.1高分遊戲
- Python驗證和視覺化之三大猜想 [ 冰雹猜想、角谷猜想、考拉茲猜想 ]Python視覺化
- CAP 定理的含義
- 羅爾(Rolle)中值定理
- CAP定理的缺點
- 什麼是CAP定理?
- [Lucas定理] 集合計數
- 鞅與停時定理
- 留數定理筆記筆記
- 中國剩餘定理
- Carathéodory 擴張定理