数学研发网设为首页收藏本站

数学研发论坛

 找回密码
 欢迎注册
查看: 3184|回复: 9

[讨论] 连续123456789组成的素数

[复制链接]
发表于 2008-4-23 18:29:36 | 显示全部楼层 |阅读模式

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

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

x
求完全由123456789重复排列取前N位组成的素数
比如1234567891就是

可以断定,其末位必须是1或者7
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-4-23 18:30:20 | 显示全部楼层
1234567891234567891234567891也是
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-4-23 19:34:17 | 显示全部楼层
1234567891234567891234567891234567891234567891234567891234567891234567也是
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-4-23 19:47:30 | 显示全部楼层
200位内无其他该类素数

评分

参与人数 1金币 +5 贡献 +1 经验 +1 鲜花 +1 收起 理由
mathe + 5 + 1 + 1 + 1 精品文章

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-4-24 12:40:05 | 显示全部楼层
幻方及其他:娱乐数学经典名题
张景中

这本书中有这方面的论述
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-4-24 14:09:13 | 显示全部楼层


能把我这里没有的贴上来么》
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-4-24 14:14:30 | 显示全部楼层
从整体是、来看,素数是一种无序的数,其中出现的数字是随机的,杂乱的,没有规律的。但是也有少数素数,恰恰是有1~9这9个数字或其一部分的顺序或逆序排列形成的,从而引起人们的兴趣与注意。数字以升序排列的素数有
23,67,89,4567,...,23456789,1234567891,...

1972年,Bowling Green大学的拉斐尔.芬克尔斯坦(Raphael Finkelstein)等人发现了一个28位的顺序数字素数:
1234567891234567891234567891

1978年,艾伦.凯赛尔(Allan Cassel)打破了这个记录,发现了一个由123456789重复达9次,最后以1234567结尾的长达70位的这样一个素数(这里我怀疑作者有笔误,应该是重复7次才对)
123456789(重复7次)....123457

这个记录至今无人能够打破。

这是节选书上的一段文字
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-4-24 14:19:11 | 显示全部楼层
原帖由 无心人 于 2008-4-23 19:34 发表
1234567891234567891234567891234567891234567891234567891234567891234567也是


跟你这个结论一致
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-4-24 14:47:14 | 显示全部楼层

快速搜索的源代码

这个问题相当于每次把数据在后面追加9个字符,与 HugeCalc 内部数据结构正好一致,
所以用 HugeCalc 中的 DecLShift() 函数,可以获得非常高的效率。

我写了一个代码,可以对楼主要求的两种类型的素数均可快速搜索,
机器强劲的朋友也许有望可打破当前的世界纪录
  1. #include <stdlib.h>
  2. #include <stdio.h>

  3. #include "../../../HugeCalc_API/CppAPI/Include/HugeCalc.h"        // 公共接口
  4. #include "../../../HugeCalc_API/CppAPI/Include/HugeInt.h"         // 10进制系统

  5. #pragma message( "automatic link to ../../../HugeCalc_API/CppAPI/Lib/HugeCalc.lib" )
  6. #pragma comment( lib, "../../../HugeCalc_API/CppAPI/Lib/HugeCalc.lib" )


  7. int main( void )
  8. {
  9. #if 0
  10.         const UINT32 tail = 234567891;
  11.         CHugeInt test( 1 );
  12. #else
  13.         const UINT32 tail = 891234567;
  14.         CHugeInt test( 1234567 );
  15. #endif
  16.         printf( "tail is '%u'\r\n", tail );

  17.         HugeCalc::EnableTimer();
  18.         HugeCalc::ResetTimer();
  19.         UINT32 u32Repeat = 0;
  20.         while( 1000 > ++u32Repeat )
  21.         {
  22.                 test.DecLShift( 9 ) += tail;

  23.                 if ( test.IsPrime() )
  24.                 {
  25.                         printf( "%s\trepeat=%u\tdigits=%u\tOK!\r\n", HugeCalc::GetTimerStr( FT_HHMMSS_ms ), u32Repeat, test.GetDigits() );
  26.                 }
  27.                 else if ( u32Repeat % 20 == 0 )
  28.                 {
  29.                         printf( "%s\trepeat=%u\r\n", HugeCalc::GetTimerStr( FT_HHMMSS_ms ), u32Repeat );
  30.                 }
  31.         }
  32.         HugeCalc::EnableTimer( FALSE );

  33.         return 0;
  34. }
复制代码
运行数据如下:
tail is '891234567'
00:00:00.001    repeat=7        digits=70       OK!
00:00:00.019    repeat=20
00:00:00.172    repeat=40
00:00:00.490    repeat=60
00:00:01.645    repeat=80
00:00:03.244    repeat=100
00:00:06.986    repeat=120
00:00:11.262    repeat=140
00:00:20.644    repeat=160
00:00:30.800    repeat=180
00:00:44.765    repeat=200
00:01:07.357    repeat=220
00:01:29.514    repeat=240
00:02:10.580    repeat=260
00:02:53.391    repeat=280
00:03:52.707    repeat=300


在 4 分钟内,已算到近 3000 位。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-4-24 14:58:24 | 显示全部楼层
回复8#

   国内的书多数抄袭国外的书,而且资料陈旧的很。
所以其结论不可信
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2017-7-26 18:34 , Processed in 0.211173 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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