mathe 发表于 2009-2-26 10:48:27

我就是不允许带0的,没有什么区别

mathe 发表于 2009-2-26 10:50:37

呵呵,放个程序让它一直运行下去看看:
*Main> let inc2 n=n+2
*Main> take 5 [c|c<-(iterate inc2 10000001),c `mod` 3/=0,c `mod` 5/=0,c `mod` 7/
=0,c `mod` 11/=0,c `mod` 13/=0,c `mod` 17/=0,c `mod` 19/=0,count c>=9]

gxqcn 发表于 2009-2-26 10:51:12

2 6 7 8 7 8 9
3 3 8 6 8 8
2 7 6 4 8
2 6 8 8
7 6 8
3 3 6
5 4
2 0 <-- 含 0
0

mathe 发表于 2009-2-26 10:54:04

呵呵,这里正好无论是否带0步数都相同,只是一个从20到0,一个从20到2

mathe 发表于 2009-2-26 11:00:04

我们可以这样考虑。
每次先计算某个范围内需要一步变换的合数,并且对合数进行因子分解。如果它所有素因子都不超过7才保留,记为R1。
对R1中每个数分解成若干个不超过10的因子的乘积,然后将这些因子任意排列,可以得到一些新的数。同样如果这个数存在大于7的素因子就淘汰,记为R2.
...

无心人 发表于 2009-2-26 11:01:33

现在如果考虑0包含在定义里
像33#的数字算对

即4#在8之前都可以

mathe 发表于 2009-2-26 11:05:54

*Main> take 5 [c|c<-(iterate inc2 10000001),c \`mod\` 3/=0,c \`mod\` 5/=0,c \`mod\` 7/
=0,c \`mod\` 11/=0,c \`mod\` 13/=0,c \`mod\` 17/=0,c \`mod\` 19/=0,count c>=9]

mathe 发表于 2009-2-26 11:08:23

上面数字中26899889是第一个素数,即n=9的解

mathe 发表于 2009-2-26 11:10:08

呵呵,这个数据也归到20去了

*Main> prodd 26899889
4478976
*Main> (prodd.prodd) 26899889
338688
*Main> (prodd.prodd.prodd) 26899889
27648
*Main> (prodd.prodd.prodd.prodd) 26899889
2688
*Main> (prodd.prodd.prodd.prodd.prodd) 26899889
768
*Main> (prodd.prodd.prodd.prodd.prodd.prodd) 26899889
336
*Main> (prodd.prodd.prodd.prodd.prodd.prodd.prodd) 26899889
54
*Main> (prodd.prodd.prodd.prodd.prodd.prodd.prodd.prodd) 26899889
20

无心人 发表于 2009-2-26 11:11:18

从6开始到9,都落入2688 ... -> ... 20 -> 0
页: 1 2 3 [4] 5 6 7 8 9 10 11 12 13
查看完整版本: 数字乘积