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