无心人 发表于 2008-12-16 08:11:32

蹦床素数

考虑由123456789递增组成的1-9长度不等的数字片断
称为一个跳跃

由若干长度不等的跳跃组成一个数字,我们称为蹦床数字
比如1234512345678912312341234567
可以记成(5, 9, 3, 4, 7)
如果还为素数,则称为 蹦床素数
现在求10^100内的所有蹦床素数

gxqcn 发表于 2008-12-16 08:48:30

想明确一下:
1、蹦床素数是否其本身也需为素数(感觉这应是前提条件,但楼主所举例子是合数)?
2、“由若干长度不等…”——也就是说跳跃数不允许重复?

medie2005 发表于 2008-12-16 09:03:04

求100的带约束的拆分。
然后对应得到数字组成,判素。

无心人 发表于 2008-12-16 09:57:18

1、跳跃数可以重复
2、当然是素数
3、跳跃次数可以为1

但只有一种可能 (7)

俺举的例子是蹦床数的例子
呵呵

无心人 发表于 2008-12-16 11:44:28

生成集合的
let base =
let to3 x = if (x==1) || (x==4) || (x==7) then 1 else 0
let to3Test x =(/=0) \$ (\x -> x \`mod\` 3 )\$ sum \$ map (to3) x
let prod n = if (n==1) then [, , ,] else

medie2005 发表于 2008-12-16 13:06:09

个数太多了。
100拆分成1-9的和的形式有3314203种。然后,对每一种进行排列,数目已经不可想象了。就算每种形式只得到一个素数,那么,也有3314203个蹦床素数,也就是说要判断3314203次100位数的素性,时间上已经无法承受了,趣题就没趣了。

无心人 发表于 2008-12-16 14:12:35

:)

那缩小些, 小于40位的

suan1024 发表于 2008-12-16 18:35:32

反一反

考虑由987654321递减组成的1-9长度不等的数字片断
称为一个" 跳崖"

由若干长度不等的" 跳崖" 组成一个数字,我们称为" 跳崖" 数字或"蹦极"数字
比如5432198765432132143217654321
可以记成(5, 9, 3, 4, 7)
如果还为素数,则称为"蹦极"素数
现在求10^100000000000000内的所有"蹦极"素数

medie2005 发表于 2008-12-16 18:55:08

呵呵,ls没有计算复杂度的概念啊。

northwolves 发表于 2008-12-16 19:22:56

这个题目有趣,算一算。
页: [1] 2
查看完整版本: 蹦床素数