3n+1数链问题
来源:互联网 发布:盘扣式脚手架计算软件 编辑:程序博客网 时间:2024/06/07 16:16
用时间换空间,然而需要的空间太大,卡在第6个样例,我觉得应该可以压缩的。
#include <stdio.h>#include <string.h>int const maxn = 7000000; //不知道上限在哪里 int g_a[maxn];int g_i,g_j;int g_ans=0;int dfs(int i) { if (g_a[i]!=-1) return g_a[i]; int & tmp = g_a[i]; if(i==1) { tmp=1; return tmp; } if(i%2==0) { tmp = dfs(i/2)+1; return tmp; } if (i%2==1) { tmp = dfs(i*3+1)+1; return tmp; }}int main() { scanf("%d%d",&g_i,&g_j); memset(g_a,-1,sizeof(g_a)); for(int i=g_i;i<=g_j;i++) { int k = dfs(i); if(k>g_ans) g_ans = k; } printf("%d\n",g_ans);}
朴素的暴力求解:
#include<stdio.h>int length( int n );int main(){ int i, j; int k; int max = 0; scanf("%d %d", &i, &j ); for ( k = i; k <= j; k++ ) { if ( length(k) >= max ) { max = length(k); /* 更新最大值 */ } } printf( "%d\n", max ); return 0;} int length( int n ){ int length = 1; while ( n != 1 ) { if ( n % 2 == 1 ) { n = n * 3 + 1; } else { n /= 2; } length++; } return length;}
0 0
- 3n+1 数链问题
- 1293. 3n+1数链问题
- 1293. 3n+1数链问题
- 3n+1数链问题
- 1293. 3n+1数链问题
- 1293[3n+1数链问题]
- 3n+1 数链问题(数论)
- 1293. 3n+1数链问题
- 3n+1数链问题--递归
- 3n+1数链问题
- 3n+1数链问题
- 3n+1数链问题
- WOJ1314-3n+1数链问题
- 3N数链问题
- [数论][题目]3n+1数链问题
- sicily 1000. 3n+1数链问题
- POJ 1207(3n+1数链问题)
- [1601]3n+1数链问题 sdutOJ
- c++对象模型详解之二——《深度探索C++对象模型》
- 神经病院Objective-C Runtime入院第一天——isa和Class
- POJ 3352 Road Construction(边双连通)
- 深入理解RunLoop
- ViewPager嵌套RecycleView(Fragment作为数据源)来展示10条数据,每个Item显示的内容是(Android软件开发工程师)(用自定义的Adapter 实现
- 3n+1数链问题
- 用RecycleView嵌套ViewPager(Fragment作为数据源)来展示10条数据,(用自定义的Adapter 实现
- Theano官方LSTM代码解析(2)
- Git使用介绍
- Delta3d角色注册机制
- im即时通讯实现原理
- JavaScript.Date
- JNI中传数组与字符串
- 在android 6.0动态权限问题无法获取READ_PHONE_STATE权限的SecurityException的问题