游客 Signup | Login
中文 | En

3221 - 角谷猜想

 【问题描述】

<span style="font-family:宋体;color:black;font-size:12pt;">在数学上,有一个称为角谷猜想<span>(</span>最早由日本数学家角谷静夫提出<span>)</span>的经典题,其内容是:“对任意的正整数<span>n</span>,若为偶数,则把它除以<span>2</span>,若为奇数,则把它乘以<span>3</span>加<span>1</span>。经过如此有限次运算后,总可以得到正整数值<span>1</span>”。<span></span></span>

<span style="font-family:宋体;color:black;font-size:12pt;">请你编一个程序,根据输入的正整数<span>n</span>,输出以上运算过程。<span></span></span>

<span style="font-family:宋体;color:black;font-size:12pt;">【输入格式】<span></span></span>

<span style="font-family:宋体;color:black;font-size:12pt;">输入数据仅一行包含一个正整数<span>n(2</span>≤<span>n</span>≤<span>100)</span>。<span></span></span>

<span style="font-family:宋体;color:black;font-size:12pt;">【输出格式】<span></span></span>

<span style="font-family:宋体;color:black;font-size:12pt;">一行输出一次运算的算式,算式中除了运算符号、等号及数字以外不包含其它任何字符。<span></span></span>

<span style="font-family:宋体;color:black;font-size:12pt;">【输入样例】</span>

<span style="font-family:宋体;color:black;font-size:12pt;"></span><span style="font-family:宋体;color:black;font-size:12pt;">3</span>

<span style="font-family:宋体;color:black;font-size:12pt;">【输出样例】</span>

<span style="font-family:宋体;color:black;font-size:12pt;">3*3+1=10</span>

<span style="font-family:宋体;color:black;font-size:12pt;">10/2=5</span>

<span style="font-family:宋体;color:black;font-size:12pt;">5*3+1=16</span>

<span style="font-family:宋体;color:black;font-size:12pt;">16/2=8</span>

<span style="font-family:宋体;color:black;font-size:12pt;">8/2=4</span>

<span style="font-family:宋体;color:black;font-size:12pt;">4/2=2</span>

<span style="font-family:宋体;color:black;font-size:12pt;">2/2=1</span><b><span style="font-family:宋体;font-size:12pt;"></span></b>

Input

Output

Examples

Input


                

Output


                

Solution C++

#include <cstdlib>
#include <cstdio>
using namespace std;
bool even(long long);
int main()
{
	long long  n;
	long long c=0;
	long long k;
	scanf("%lld",&k);
	while(k!=1)
	{
		if(even(k)==false)
		{
			long long  a=3*k+1;
			printf("%lld*3+1=%lld\n",k,a);
            k=a;
		}
		else
		{
			long long a=k/2;
			printf("%lld/2=%lld\n",k,a);
			k=a;
		}
	}
	//system("pause");
	return 0;
}
bool even(long long a)
{
	if(a%2==0)
	    return true;
	else
		return false;
}

Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题