找回密码
 欢迎注册
查看: 10690|回复: 1

[提问] 是否所有素数的生命值都大于等于0

[复制链接]
发表于 2013-12-25 09:03:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
定义:素数(奇数)的生命值,把一个素数写成二进制形式,从前往后依次划去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
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-12-27 13:56:29 | 显示全部楼层
嗯,89和281是-1,313和409是-2。呵呵。
  1. p[n_] := Module[{s, t},
  2.    s = IntegerDigits[n, 2];
  3.    t = Tally[
  4.      Append[Map[PrimeQ,
  5.        Union[Table[
  6.          FromDigits[Drop[s, i], 2], {i, 0, Length[s] - 1}]]], True]];
  7.    t[[2, 2]] - t[[1, 2]]];
  8. Table[{i, Prime[i], p[Prime[i]]}, {i, 100}] // MatrixForm
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-5-14 21:34 , Processed in 0.043335 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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