1039: 【C语言训练】角谷猜想

时间限制: 1 Sec  内存限制: 128 MB
提交: 2  解决: 2
[提交][状态][讨论版]

题目描述

角谷猜想:
日本一位中学生发现一个奇妙的“定理”,请角谷教授证明,而教授无能为力,于是产生角谷猜想。猜想的内容是:任给一个自然数,若为偶数除以2,若为奇数则乘3加1,得到一个新的自然数后按照上面的法则继续演算,若干次后得到的结果必然为1。请编程验证。

输入

任一正整数

输出

演算的过程

样例输入

10

样例输出

10/2=5
5*3+1=16
16/2=8
8/2=4
4/2=2
2/2=1

提示

 

来源

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <iostream>
 4 using namespace std;
 5 int main()
 6 {
 7     int n;
 8     bool flag = true;
 9     scanf("%d", &n);
10     while(flag)
11     {
12         if(n & 1)
13         {
14             printf("%d*3+1=%d\n", n, 3*n+1);
15             n = 3*n+1;
16             if(n==1)
17                 flag = false;
18         }
19         else
20         {
21             printf("%d/2=%d\n", n, n/2);
22             n /= 2;
23             if(n==1)
24                 flag = false;
25         }
26     }
27     return 0;    
28 } 

 

posted on 2015-08-26 12:15  cleverbiger  阅读(805)  评论(0编辑  收藏  举报