读书人

腾讯笔考题-递归编程(2)

发布时间: 2013-03-27 11:22:42 作者: rapoo

腾讯笔试题--递归编程(2)

题目:

对一个正整数作如下操作:如果是偶数则除以2,如果是奇数则加1,如此进行直到1时操作停止,求经过9次操作变为1的数有多少个?

#include <iostream>using namespace std;int count=0;void fun(int num,int step){if(num<=0)return;if(step==1){cout<<num<<"   ";++count;if(count%10==0)cout<<endl;return;}else{if((num-1)%2==1)  fun(num-1,step-1);fun(num*2,step-1);}}void main(){fun(1,9);cout<<endl<<endl<<count<<endl;system("pause");}


读书人网 >编程

热点推荐