course(递归专题)角谷猜想
This commit is contained in:
parent
19ac0b6144
commit
840982aeee
Binary file not shown.
|
@ -0,0 +1,43 @@
|
|||
# 角谷猜想
|
||||
|
||||
[问题描述]
|
||||
日本数学家角谷静夫在研究自然数时发现了一个奇怪现象:对于任意一个自然数 n ,若 n
|
||||
为偶数,则将其除以 2;若 n 为奇数,则将其乘以 3 ,然后再加 1 。如此经过有限次运算
|
||||
后,总可以得到自然数 1 。人们把角谷静夫的这一发现叫做“角谷猜想”。要求:编写一个程
|
||||
序,由文件读入一个自然数 n(n≤30000),把 n 经过有限次运算后,最终变成自然数 1 的全
|
||||
过程打印出来。
|
||||
|
||||
如:输入 22,
|
||||
22/2=11
|
||||
11×3+1=34
|
||||
34/2=17
|
||||
17×3+1=52
|
||||
52/2=26
|
||||
26/2=13
|
||||
13×3+1=40
|
||||
40/2=20
|
||||
20/2=10
|
||||
10/2=5
|
||||
5×3+1=16
|
||||
16/2=8
|
||||
8/2=4
|
||||
4/2=2
|
||||
2/2=1
|
||||
经过 15 次运算得到自然数 1。
|
||||
|
||||
[输入格式]
|
||||
一行,一个小于 30000 的整数。
|
||||
|
||||
[输出格式]
|
||||
多行,每行一个整数,最后一行为 1,角谷猜想的每一步。
|
||||
|
||||
[输入样例]
|
||||
5
|
||||
|
||||
[输出样例]
|
||||
5
|
||||
16
|
||||
8
|
||||
4
|
||||
2
|
||||
1
|
|
@ -0,0 +1,3 @@
|
|||
# 标题
|
||||
|
||||
* 内容
|
Binary file not shown.
|
@ -0,0 +1,19 @@
|
|||
#include<iostream>
|
||||
using namespace std; //½Ç¹È²ÂÏë
|
||||
void dg(int n){
|
||||
cout<<n<<endl;
|
||||
if(n==1){
|
||||
return;
|
||||
}
|
||||
if(n%2==0){
|
||||
dg(n/2);
|
||||
}else{
|
||||
dg(n*3+1);
|
||||
}
|
||||
}
|
||||
int main()
|
||||
{
|
||||
int n;
|
||||
cin>>n;
|
||||
dg(n);
|
||||
}
|
Binary file not shown.
|
@ -0,0 +1,6 @@
|
|||
#include <iostream>
|
||||
|
||||
int main()
|
||||
{
|
||||
std::cout << "Hello Easy C++ project!" << std::endl;
|
||||
}
|
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
22
|
|
@ -0,0 +1,22 @@
|
|||
## z:\Chao\src\1661_jiaogu\test\in.txt
|
||||
2020/04/24 ÖÜÎå 13:58:08.86
|
||||
22
|
||||
11
|
||||
34
|
||||
17
|
||||
52
|
||||
26
|
||||
13
|
||||
40
|
||||
20
|
||||
10
|
||||
5
|
||||
16
|
||||
8
|
||||
4
|
||||
2
|
||||
1
|
||||
|
||||
-----------------------------------------------
|
||||
Process exited after 220 ms with return value 0
|
||||
|
Loading…
Reference in New Issue