![]() |
[讨论] 正整数A×颠倒数(A)=正整数B×颠倒数(B) |
| ||
毋因群疑而阻独见 毋任己意而废人言
毋私小惠而伤大体 毋借公论以快私情 |
||
点评
8位数乘以8位数的情况我已经处理完了.在28楼,8位数有37个四元组.,https://nestwhile.com/res/b117282/bb8.txt
源文件输出是乱序的,我最后将结果排序了一下
另外搜到一组结果不输出,第二组有相同乘积的才会输出。所以k个相同乘积会输出k(k-1)/2-1行。
你这个结果怎么这么长?我只搜索乘积16位以内的,所以乘数不超过8位,也就是它的一半不超过4位。
mathe感觉这样处理会漏解,如 340006497569227044612
| ||
毋因群疑而阻独见 毋任己意而废人言
毋私小惠而伤大体 毋借公论以快私情 |
||
点评
现在只处理了1/3的进度.
我的进度还没 跟上, 惭愧.
@wayne 理论上你的结果里应该有340006497569227044612啊
我是穷举
你们应该是优先尝试因子多的数是吧?也就是含大量小因子的数。
评分 | ||
毋因群疑而阻独见 毋任己意而废人言
毋私小惠而伤大体 毋借公论以快私情 |
||
点评
我正在算11位的数相乘,进度为1/3. 之前的都计算好了,统计结果在28楼
至少7个序列: 2组的,3组的,4组的,10^n以内的2、3、4组的数目,最小的有n组解的数字
| ||
毋因群疑而阻独见 毋任己意而废人言
毋私小惠而伤大体 毋借公论以快私情 |
||
点评
发现代码一个bug, 114行%ntp需要修改为%(ntp*10),这样速度可以快很多了
合并结果后处理即可,可以先将所有结果输出,然后按乘积结果排序即可。这个可以最后外部排序来做
我其实可以再增加一个哈希表,用来统计是否一个乘积已经计算过了,如果已经计算过了,就没必要再做因式分解,这样也能大大提升速度.
省去因子分解的话,还得合并结果吧.
估算了一下复杂度,四个n位数是10^{4n},过滤条件要求乘法模n位匹配,头n位近似匹配,所以相当于还是近似10^{2n}的穷举空间穷举两个2n位数乘法。和wayne直接穷举类似,唯一好处省掉因子分解
| ||
毋因群疑而阻独见 毋任己意而废人言
毋私小惠而伤大体 毋借公论以快私情 |
||
| ||
毋因群疑而阻独见 毋任己意而废人言
毋私小惠而伤大体 毋借公论以快私情 |
||
| ||
毋因群疑而阻独见 毋任己意而废人言
毋私小惠而伤大体 毋借公论以快私情 |
||
| |
毋因群疑而阻独见 毋任己意而废人言
毋私小惠而伤大体 毋借公论以快私情 |
|
| ||
毋因群疑而阻独见 毋任己意而废人言
毋私小惠而伤大体 毋借公论以快私情 |
||
| ||
毋因群疑而阻独见 毋任己意而废人言
毋私小惠而伤大体 毋借公论以快私情 |
||
小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )
GMT+8, 2025-3-26 14:01 , Processed in 0.131386 second(s), 27 queries .
Powered by Discuz! X3.5
© 2001-2025 Discuz! Team.