算法34——3n+1问题"/>
Problem F: 零起点学算法34——3n+1问题
Problem F: 零起点学算法34——3n+1问题
分析
因为不知道循环次数,所以使用while语句,然后用判断来进行计数。
Description
任给一个正整数n,如果n为偶数,就将它变为n/2,如果n为奇数,则将它变为乘3加1(即3n+1)。不断重复这样的运算,经过有限步后,一定可以得到1 。
Input
输入1个正整数n(n <= 10^9)
Output
输出变化的次数
Sample Input
3
Sample Output
7
#include<stdio.h>
int main(){int n,count=0;scanf("%d",&n);while(n>1){if(n%2==0){n=n/2;count++;}else{n=3*n+1;count++;}}printf("%d\n",count);return 0;
}
总结
1、不知道循环次数时常使用while语句。
更多推荐
Problem F: 零起点学算法34——3n+1问题
发布评论