CODE[VS]_3038 3n+1问题
来源:互联网 发布:羽毛球教学软件 编辑:程序博客网 时间:2024/06/07 21:10
3n+1问题是一个简单有趣而又没有解决的数学问题。这个问题是由L. Collatz在1937年提出的。克拉兹问题(Collatz problem)也被叫做hailstone问题、3n+1问题、Hasse算法问题、Kakutani算法问题、Thwaites猜想或者Ulam问题。
问题如下:
(1)输入一个正整数n;
(2)如果n=1则结束;
(3)如果n是奇数,则n变为3n+1,否则n变为n/2;
(4)转入第(2)步。
克拉兹问题的特殊之处在于:尽管很容易将这个问题讲清楚,但直到今天仍不能保证这个问题的算法对所有可能的输入都有效——即至今没有人证明对所有的正整数该过程都终止。
【分析】:3n+1问题是一道经典的问题了,原名好像就什么“冰雹下落”,具体的问度娘吧~
注意不停的递归就好,其实没你想的那么难,还是一点要注意的,一定要注意递
归结束的条件,不然又会陷入死递归。。。
巧妙的利用一个deep变量来随时记录经过递归的次数,每经过一次递归,将会++
# include<cstdio># include<iostream>using namespace std;int ans = 0;int f( int n,int deep ){ if ( n == 1 ) return deep; if ( n%2 == 0 ) return ( f(n/2,deep+1) ); else return ( f( 3*n+1,deep+1) );}int main(void){ int t;cin>>t; for ( int i = 1;i <= t;i++ ) { int x;cin>>x; cout<<f(x,0)<<endl; } return 0;}
0 0
- CODE[VS]_3038 3n+1问题
- Code[VS] 1295 Nqueens N皇后问题
- CODE[VS] 1295 N皇后问题
- CODE[VS] 1295 N皇后问题
- code【vs】1295 N皇后问题(dfs(回溯))
- 【DFS】CODE[VS] 1295 N皇后问题(刷题记录)
- Code[vs]1014 装箱问题
- Code[VS] 1029 遍历问题
- code vs装箱问题2
- CODE[VS] 1014 装箱问题
- CODE[VS] 1029 遍历问题
- VS Code python配置问题
- CODE[VS]1014 装箱问题
- CODE[VS]1029 遍历问题
- 从零开始的暴搜复习生活—DFS(CODE[VS] 1116 四色问题 1294 全排列 1295 N皇后问题)
- CODE[VS]_1098 均分纸牌问题
- CODE[VS]_1214 线段覆盖问题
- Code[VS] 3377 接水问题2
- 快速理解Docker - 容器级虚拟化解决方案
- 文件的自删除_2
- 在iOS中创建静态库
- 文件的自删除_1
- 全文搜索资料收集
- CODE[VS]_3038 3n+1问题
- 获取屏幕的宽度以及动态设置ImageView的宽度、高度
- 生成随机数的方法
- zookeeper-3.4.6 安装
- Chromium:安装depot_tools及获取Chromium源代码
- gdi+ 显示字符串
- ZOJ 3818
- 【BZOJ1269】[AHOI2006]文本编辑器editor Splay
- 哈尔滨理工大学-CPC23 2014-3-K-喵喵的神·数