wsc810 发表于 2013-12-25 09:03:19

是否所有素数的生命值都大于等于0

定义:素数(奇数)的生命值,把一个素数写成二进制形式,从前往后依次划去1的过程中,如果剩余的数为素数,记为+1,如果为合数,记为-1,依次类推,直到末位为1,最后累加所有的+1和-1的值,记为素数的生命值L,如果这个数的本身为素数,则记首位为+1,合数则为-1。
例L(113)=(1110001)=(+-+0001)=1,L(47)=(101111)=(+0-++1)=2
L(15)=(1111)=(-++1)=1,L(25)=(11001)=(--001)=-2,
谁能编程验证一下(最好是mathematica),是否所有素数的生命值
L(p)>=0

zhouguang 发表于 2013-12-27 13:56:29

嗯,89和281是-1,313和409是-2。呵呵。
p := Module[{s, t},
   s = IntegerDigits;
   t = Tally[
   Append[Map[PrimeQ,
       Union[Table[
         FromDigits, 2], {i, 0, Length - 1}]]], True]];
   t[] - t[]];
Table[{i, Prime, p]}, {i, 100}] // MatrixForm
页: [1]
查看完整版本: 是否所有素数的生命值都大于等于0