1001. 害死人不偿命的(3n+1)猜想 (15)

这是一道模拟题,大致题意就:是偶数除以2,奇数(3n+1)除以2,到1结束
代码如下:
#include<iostream>
using namespace std;

int cnt=0;
void cal(int n)
{
	if(n==1)
	{
		cout<<cnt<<endl;
	}
	else if(n%2==1)
	{
		n=3*n+1;
		n=n/2;
		cnt++;
		cal(n);
	}
	else if(n%2==0)
	{
		n=n/2;
		cnt++;
		cal(n);
	}
}
int main()
{
	int n;
	while(cin>>n)
	{
		cnt=0;
		cal(n);
	}

	return 0;
}

  

posted @ 2015-01-19 01:43  职场亮哥  阅读(322)  评论(0编辑  收藏  举报