- 注册时间
- 2004-9-4
- 最后登录
- 1970-1-1
|
发表于 2005-10-20 21:19:00
|
显示全部楼层
不太明白什么意思,提供一种我的理解:
- #include<stdio.h>
- int main(){
- int num=1;
- printf("Please input a number: ");
- scanf("%d",&num);
- while(num!=1){
- printf("%d ",num);
- if ( num & 1 ){//奇数
- num = 3 * num + 1;
- }else{//偶数
- num = num / 2;
- }
- }
- printf("%d ",num);
- }
- 试运行结果:
- Please input a number: 100
- 100 50 25 76 38 19 58 29 88 44 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
复制代码
感觉原理就是不停的除以2,加1是为了保证是偶数不出现小数情况,乘以3完全是为了迷惑-_-bb
|
|