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

[讨论] 求 1^2+2^2+3^2+...+n^2 = m^2 的正整数解

[复制链接]
发表于 2009-2-21 20:37:10 | 显示全部楼层
未命名.JPG
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-2-21 20:37:46 | 显示全部楼层
Dim a As Double
Dim i As Double
a = 23
While a < 10000000
i = Sqr(a * (a + 1) * (2 * a + 1) / 6)
If i = Int(i) Then Print "前" + Str(a) + "个正整数的平方和是" + Str(i) + "的平方"
a = a + 1
Wend


用VB找到的
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-2-21 20:46:26 | 显示全部楼层
检验发现仅仅是比较近似,看来这个代码不行,个位,VB上的代码要怎样写呀?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-2-21 20:46:47 | 显示全部楼层
第二个就不对了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-2-21 22:55:21 | 显示全部楼层

回复 11# 282842712474 的帖子

我先惊喜一阵子,可后来检验发现24以后的几个都不对啊
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-2-21 23:09:46 | 显示全部楼层
这个最好是求平方剩余
再判定
就快了

什么数的平方剩余少??
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-2-21 23:17:25 | 显示全部楼层
n = 100 22个
n = 120 18个
n = 240 10个
n = 14400 528个
可以看到,越使用大的高度复合数模
过滤概率越高

但过滤概率和模数字大小关系无关

14400是个比较好的数字,过滤出的可能平方数字是3.667%
需要预先保存的表是14400个
更大的数字比如57600虽然概率还好,但就有限了,而且预先保存的东西也多了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2009-2-21 23:22:57 | 显示全部楼层

回复 17# 无心人 的帖子

不懂,
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-2-21 23:27:06 | 显示全部楼层
就是把数字当做14400进制数字,则平方数字的14400进制的个位仅有528种可能
那么,只有14400进制个位数字是这528种的才测试
而这里面仅用到了加法!!!!

只有上面测试通过的
才进行高精度计算,进一步测试是否确实是平方数字
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2009-2-21 23:30:15 | 显示全部楼层
我又想了下

似乎240进制就不错了
1/24的概率

另外,是否进行混合模测试??
连续通过几个素数的测试??
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-4-20 17:29 , Processed in 0.071856 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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