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

[提问] 当n=?时,含9的项之和开始大于不含9的项之和

[复制链接]
发表于 2010-5-20 10:33:52 | 显示全部楼层
36# chyanog

已经不行了。

再下去只能从数学和算法上分析了,即如何快速区分含9的和不含9的数。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-5-20 10:42:07 | 显示全部楼层
boost里面有一个tuple库,可以拿来一用,不知效率怎样
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-5-20 10:42:08 | 显示全部楼层
37# gxqcn
我在32楼用的 也是这个方法~~
wayne 发表于 2010-5-20 10:25


我对Mathematica不熟,所以先前基本跳过阅读你们的代码。
现在看来,该段代码效率不及我的C代码,
因为它要调用大量的指数运算,而我的仅有加减运算。
因为我的是直接“构造”产生下一个不含“9”的数字,所以连判断指令都很少。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-5-20 10:45:16 | 显示全部楼层
没有指数运算啊,只是简单的生成固定数目的排列。

见:http://www.cppprog.com/boost_doc ... le_users_guide.html
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-5-20 10:48:21 | 显示全部楼层
HarmonicNumber[10^n - 1.]

里的 10^n 不是指数运算吗?这需要几次乘法才能得到结果的。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-5-20 10:52:39 | 显示全部楼层
我在 38# 里的代码不调用任何第三方库,效率应该比调用boost更快。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-5-20 10:54:57 | 显示全部楼层
这个不参与循环的,对于特定的n,只算一次,目的是只是为了求出含有9的数的倒数和。

我的想法是这样的:

先计算不含9的情况:
对于特定的n,先生成{0,1,2,3,4,5,6,7,8}的n-1元子集的序列集合A,然后对集合A的每一个元素分别在前面附加1,2,3,4,5,6,7,8,即产生了所有的不含9的数

计算出了不含9的数的倒数和,接下来就是用调和数之和减去上面的结果
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-5-20 11:00:32 | 显示全部楼层
如果只是少量的调用几次,倒也无妨。

我代码中有一段是自动得到 next 不含9的数字(v0),比较精巧,效率非常高,且不占用空间。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-5-20 11:02:51 | 显示全部楼层
HarmonicNumber函数效率很高的,算出1到10^10000的倒数和的500位结果,花时间几乎为0

23026.4281456053583730405210589337244784420570456236696839320847769106\
1096450030246703090899795927473016919247187011229341657621515484255410\
9499097864985461818365325583589289745775736622205124580542182148005662\
5125302366273045154560287588103960866361762520272264887372562293730707\
4870094288807360654647253620052353895541541190109365298825697036790433\
1799907471699893998960655786288041680824989345162695776338248172757040\
5216760179021640830384083498099891207302587321235398072737789023897058\
50933392342
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2010-5-20 11:07:47 | 显示全部楼层
这个肯定是利用公式计算出来的(比如用欧拉定理),
但对于本题,没有连续大片的数字进行求倒数和,
所以再采用该函数反而有碍效率,我是这么认为的。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-5-3 19:05 , Processed in 0.053476 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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