版块导航
正在加载中...
客户端APP下载
登录
注册
帖子
帖子
用户
本版
应《网络安全法》要求,自2017年10月1日起,未进行实名认证将不得使用互联网跟帖服务。为保障您的帐号能够正常使用,请尽快对帐号进行手机号验证,感谢您的理解与支持!
24小时热门版块排行榜
>
休闲灌水
(4847)
>
论坛更新日志
(2227)
>
虫友互识
(607)
>
导师招生
(170)
>
硕博家园
(120)
>
海外博后
(112)
>
第一性原理
(111)
>
招聘信息布告栏
(94)
>
文献求助
(87)
>
论文投稿
(62)
>
学术会议
(30)
>
绿色求助(高悬赏)
(25)
>
博后之家
(16)
>
考博
(12)
>
基金申请
(11)
>
教师之家
(11)
小木虫论坛-学术科研互动平台
»
计算模拟区
»
程序语言
»
其它
»
Euler 工程 第14题:找最长的数列
5
1/1
返回列表
查看: 3199 | 回复: 9
只看楼主
@他人
存档
新回复提醒
(忽略)
收藏
在APP中查看
本帖产生 4 个 程序强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖
holmescn
金虫
(正式写手)
程序强帖: 37
应助: 1
(幼儿园)
金币: 1918.8
散金: 275
红花: 1
帖子: 699
在线: 102.6小时
虫号: 913482
注册: 2009-11-26
性别: GG
专业: 凝聚态物性 II :电子结构
[交流]
Euler 工程 第14题:找最长的数列
已有6人参与
周末了,放个题出来玩玩:
定义一个正整数数列,其迭代公式为:
n = n/2 (当n为偶数)
n = 3n+1 (当n为奇数)
比如从n=13开始,计算这个数列得:
13 ->40->20->10->5->16->8->4->1
这个数列一共有10项。
这个数列是不是总收敛到1还是个没有解决的问题(称为Collatz Problem)
不过,我们并不是要解这个难题,而是要求在小于1百万的所有起始数中,哪个数能产生最长的数列。
这里要注意的是,数列中间的项是可以大于1百万的,要看提最后数列终止到1时候的长度。
PS:这东西不能用归纳法证出来吗?
PS2:注意1分钟原则啊。不过,大于1分钟的程序也可以发上来,这样才有的交流。
Here we go!
回复此楼
» 猜你喜欢
售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急
已经有3人回复
售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急
已经有3人回复
售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急
已经有3人回复
售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急
已经有3人回复
售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急
已经有5人回复
售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急
已经有7人回复
上海工程技术大学 激光智能制造课题组 2027级博士研究生招生
已经有6人回复
课题组招2027级博士 上海工程技术大学 激光智能制造方向
已经有6人回复
现代”学阀”该如何界定
已经有14人回复
师弟论文见刊大半年才想起来申请专利,还能抢救一下吗?
已经有4人回复
高级回复
» 本主题相关价值贴推荐,对您同样有帮助:
Euler 工程 第四十四题
已经有4人回复
Euler 工程 第四十二题: 三角词
已经有4人回复
Euler 工程 第四十一题
已经有5人回复
Euler 工程 第三十八题
已经有9人回复
Euler 工程 第三十七题
已经有6人回复
Euler 工程 第三十六题:
已经有18人回复
Euler 工程 第三十五题:循环质数
已经有16人回复
Euler 工程 第三十二题:pandigital 数
已经有3人回复
Euler 工程 第三十一题: 换零钱
已经有10人回复
Euler 工程 第三十题
已经有12人回复
Euler 工程 第廿九题:有多少不同的项?
已经有30人回复
Euler 工程 第廿八题:旋转矩阵对角线的和
已经有6人回复
Euler 工程 第廿七题:系数的积
已经有15人回复
Euler 工程 第廿六题:最长的循环节
已经有9人回复
Euler 工程 第廿五题:Fibonacci 数列第一个包含1000个数字的项
已经有3人回复
Euler 工程 第廿四题:全排列的第100万项
已经有19人回复
Euler 工程 第廿三题:
已经有16人回复
Euler 工程 第廿二题: 姓的总分
已经有13人回复
Euler 工程 第廿题:100! 的各项和
已经有5人回复
Euler 工程 第十九题:每月第一天是周日的天数
已经有4人回复
Euler 工程 第十八题:三角阵上最大的和
已经有12人回复
Euler 工程第十六题:2的1000次方的各项和
已经有14人回复
Euler 工程 第十一题:相邻元素乘积最大
已经有10人回复
Euler 工程 第三题:寻找600851475143的最大质因子
已经有18人回复
1楼
2011-05-20 16:41:24
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
wangww2011
木虫
(著名写手)
程序强帖: 13
应助: 11
(小学生)
金币: 4023.1
散金: 2709
红花: 18
沙发: 1
帖子: 1915
在线: 1537.1小时
虫号: 772953
注册: 2009-05-17
性别: GG
专业: 凝聚态物性 II :电子结构
★ ★
小木虫(金币
+0.5
):给个红包,谢谢回帖
余泽成(金币+1): 说到! 2011-05-20 21:02:42
微尘、梦想(程序强帖+1): 很好,欢迎常来! 2011-05-21 19:18:45
给个迭代算法吧,0.05s 先看结果:
CODE:
max=837799 count=525
elapsed time=0.050000 seconds.
代码为
CODE:
#include
#include
#include
#define TIMERSTART clock_t start_time,stop_time;double elapsed_time;start_time = clock();
#define TIMERSTOP stop_time = clock();elapsed_time=(double)(stop_time-start_time)/CLOCKS_PER_SEC;printf("elapsed time=%f seconds.\n",elapsed_time);
#define N 1000001
static int count[N];
int euler14(long long n){
int result;
if(n
0){
return count[n];
}
if(n%2) {
n=3*n+1;
}else {
n=n/2;
}
result=euler14(n);
if(n
count[n]=result;
}
return result+1;
}
int main(void){
int i=0;
int max_count,max;
TIMERSTART;
count[1]=1;
max_count=0;
for(i=N-1;i>1;i--){
if(count[i]==0){
count[i]=euler14(i);
}
if(count[i]>max_count){
max_count=count[i];
max=i;
}
}
printf("max=%d count=%d\n",max,max_count);
TIMERSTOP;
return 0;
}
[
Last edited by wangww2011 on 2011-5-21 at 14:14
]
赞
一下
(3人)
回复此楼
高级回复
3楼
2011-05-20 17:53:37
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
查看全部 10 个回答
huycwork
金虫
(著名写手)
程序强帖: 22
应助: 0
(幼儿园)
金币: 953
散金: 663
红花: 8
沙发: 13
帖子: 1080
在线: 264.1小时
虫号: 1257243
注册: 2011-04-06
专业: 金融学
★ ★ ★ ★
小木虫(金币
+0.5
):给个红包,谢谢回帖
余泽成(金币+3, 程序强帖+1): 辛苦了! 2011-05-20 21:02:20
昨天写好这个了,C++版本的是酱紫:
CODE:
#include
enum {BUFSZ = 1000000};
size_t eular14(size_t bufsz = 1000000){
size_t buf[BUFSZ+1];
size_t max = 1, c, r;
long long n;
buf[1] = 1;
for(int i = 2; i < BUFSZ + 1; ++i){
n = i;
c ^= c;
while(1){
if(n < BUFSZ && buf[n])
break;
++c;
if(n % 2){
n = 3*n + 1;
}else
n = n/2;
}
buf[i] = buf[n] + c;
if(buf[i] > max){
max = buf[i];
r = i;
}
}
return r;
}
int main(void){
std::cout<
}
赞
一下
(2人)
回复此楼
漩涡的中心有一块空地,空空的。
2楼
2011-05-20 17:05:54
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
huycwork
金虫
(著名写手)
程序强帖: 22
应助: 0
(幼儿园)
金币: 953
散金: 663
红花: 8
沙发: 13
帖子: 1080
在线: 264.1小时
虫号: 1257243
注册: 2011-04-06
专业: 金融学
★ ★ ★ ★
小木虫(金币
+0.5
):给个红包,谢谢回帖
余泽成(金币+3): 鼓励交流! 2011-05-20 21:03:01
这个用归纳法证明是证明不出来的
前提条件可以选2->1
但是后面无法作出归纳假设:就算你假设an -> ak,归纳的下一步骤就是a(n+1)没法推导a(k+1),你看代码就知道了,你无法知道中间产生的链条有多长,实际原因是无法知道中间经过的元素有哪些,当然也就无法归纳证明。
赞
一下
(2人)
回复此楼
漩涡的中心有一块空地,空空的。
4楼
2011-05-20 18:03:01
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
微尘、梦想
木虫
(知名作家)
程序强帖: 6
应助: 2
(幼儿园)
贵宾: 0.353
金币: 4757.9
散金: 3089
红花: 31
沙发: 247
帖子: 8788
在线: 1125小时
虫号: 1203290
注册: 2011-02-14
专业: 制造系统与自动化
★ ★
小木虫(金币
+0.5
):给个红包,谢谢回帖
余泽成(金币+1): 鼓励交流! 2011-05-20 21:03:21
这不是著名的3x+1问题吗?以前写过这个程序,也试着证过这道题,看着挺简单,要真证起来,才发现根本不可能,否则它也不是世界难题了……
赞
一下
(2人)
回复此楼
任风云变幻,我笑对人生!
5楼
2011-05-20 18:27:20
已阅
回复此楼
关注TA
给TA发消息
送TA红花
TA的回帖
查看全部 10 个回答
如果回帖内容含有宣传信息,请如实选中。否则帐号将被全论坛禁言
普通表情
龙
兔
虎
猫
高级回复
(可上传附件)
百度网盘
|
360云盘
|
千易网盘
|
华为网盘
在新窗口页面中打开自己喜欢的网盘网站,将文件上传后,然后将下载链接复制到帖子内容中就可以了。
信息提示
关闭
请填处理意见
关闭
确定