找回密码
 欢迎注册
楼主: mathe

[擂台] 最小无法表达的正整数

[复制链接]
 楼主| 发表于 2008-10-5 20:33:41 | 显示全部楼层
如果程序中断,删除最后一个产生的文件,然后重新运行应该就可以了.
其实修改一下主程序应该更加好.
现在我又可以访问公司的机器了.我启动了N=12的程序,看看需要运行多长时间.
我估计明天应该能够出结果.
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-10-5 20:34:10 | 显示全部楼层
N=10以前的结果同前面完全一致.
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-10-5 20:46:39 | 显示全部楼层
我在家刚启动了11的
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-10-5 20:48:24 | 显示全部楼层
那要修改程序
用个log文件
保存生成的文件名

PS
初次运行10的速度并不象你说的那么快
怀疑我机器不如你本本好
呵呵
中断了11的运行
还是去学校服务器做吧

[ 本帖最后由 无心人 于 2008-10-5 20:59 编辑 ]
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-10-5 20:56:14 | 显示全部楼层
不过mathe你混合C语言和C++语言的库倒是挺熟练的啊
哈哈

怎么不用标准IO库啊

我总觉得用C就不用C++语法
用C++就不用C的东西

呵呵
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-10-6 06:51:01 | 显示全部楼层
运行n=11出现前10个结果要比直接运行n=10慢很多的.
我现在N=12的程序11以前个数据出来了:
r[3]=10
r[4]=29
r[5]=76
r[6]=284
r[7]=1413
r[8]=7187
r[9]=38103
r[10]=231051
r[11]=1765186
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-10-6 06:53:39 | 显示全部楼层
原帖由 无心人 于 2008-10-5 20:56 发表
不过mathe你混合C语言和C++语言的库倒是挺熟练的啊
哈哈

怎么不用标准IO库啊

我总觉得用C就不用C++语法
用C++就不用C的东西

呵呵

我不习惯用<iostream>. 其实C++里可以使用的就是C++代码,为什么一定要认为是C代码呢?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-10-6 08:18:05 | 显示全部楼层

11解出来的速度比较快的
可能算法复杂度降低了
===============
IO库比较方便的
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-10-6 10:29:48 | 显示全部楼层
我这里11的也出结果了
启动程序8:08
看文件大概10:09结束的
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-10-6 10:54:50 | 显示全部楼层
我的程序在昨晚20:30开始运行(看第一个产生文件的时间),而今天早上5:01分才产生11的结果.
不过我估计总运行时间应该在1到2天之间(我估计每增加一个数字,运行时间增加应该在8~16倍之间)
不过现在程序在内存使用方面倒有些问题,基本保持在1.2G~1.3G之间.可能由于内存访问效率问题速度还要降低一些.这个同现在程序使用递归调用有一定关系,主要是程序修改自前面链接中Java代码,连递归调用都复制过来了.实际上我们可以不需要递归调用,可以按文件名数字顺序依次产生所有文件,内存使用应该会有效一些.
现在程序已经产生了3888个文件,总共将需要产生4017个文件.
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-4-27 06:03 , Processed in 0.566874 second(s), 14 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表