ZZULIOJ 1099: 角谷猜想(多实例测试)
生活随笔
收集整理的這篇文章主要介紹了
ZZULIOJ 1099: 角谷猜想(多实例测试)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
角谷猜想(多實例測試)
題目描述
任何一個自然數,如果是偶數,就除以2,如果是奇數,就乘以3再加1。最后,經過若干次迭代得到1。也就是說,不管怎樣迭代,不斷除以2以后,最后是1。現在給你一個自然數n,求出它轉變為1所需要的步數。
輸入
輸入數據有多組,每組輸入包含一個自然數n。測試數據保證輸入數據及中間結果都在int范圍內。
輸出
對每組輸入,輸出經過角谷猜想變成1的步數。
樣例輸入 Copy
5
11
樣例輸出 Copy
5
14
#include<stdio.h> int main() {int i,n,x,y;while(scanf("%d",&n)!=EOF){x=0;//每次循環重新賦值 for(i=0;;i++){if(n==1){printf("%d\n",i);//當輸入為1時,直接輸出 break;} if(n%2==0)//偶數時 {n/=2;x++;}else//奇數時 {n=n*3+1;x++;}if(n==1)//當n為1時 {y=x;printf("%d\n",y);break;}} }return 0; }
總結
以上是生活随笔為你收集整理的ZZULIOJ 1099: 角谷猜想(多实例测试)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程 序 测 试 规 范
- 下一篇: 编写程序,使用一维数组,模拟栈数据结构。