九度OJ 1031 xxx定律

題目鏈接:http://ac.jobdu.com/problem.php?pid=1031


題目分析:

簡單的遞歸算法,不解釋了,直接看代碼吧。


源代碼:

#include <iostream>
using namespace std;

int n;	//輸入數字
int i = 0;	//轉化步數

void cut(int n)
{
	if (n == 1)
	{
		cout<<i<<endl;
		i = 0;
	}
	else if (n % 2 == 0 && n != 0)	//n是偶數
	{
		n = n / 2;
		i++;
		cut(n);
	}
	else if (n % 2 == 1 && n != 1)	//n是奇數
	{
		n = 3 * n + 1;
		n = n / 2;
		i++;
		cut(n);
	}
}

int main()
{
	i = 0;	
	while (cin>>n)
	{
		if (n == 0 || n < 0 || n > 10000)
		{
			break;
		}
		cut(n);
	}
	return 0;
}


發佈了67 篇原創文章 · 獲贊 18 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章