找回密码
 欢迎注册
楼主: mathe

[擂台] 连续自然数构成的素数

[复制链接]
发表于 2008-5-8 23:40:26 | 显示全部楼层
寻找连续自然数构成的素数外国人比我们研究得早,至今没有发现一个素数。 不过,从任意自然数数段上开始的素数也少得可怜,百年才遇一个火烧天。 比如,今年是2008年,从2008开始写起,一直写到2023年才是一个素数,以后不知何年何月才见素数这个美丽姑娘的出现。 2008200920102011201220132014201520162017201820192020202120222023 如果像下列数列会有素数出现吗 从10或100或1000开始,以9结尾 100101102103104105106107108109 500501502503504505506507508509 找到一个素数200201202203204205206207208209 我出生在1974年,从1974开始写起1974197519761977……,直到我老死,也没有见着一个鬼素数。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-5-9 07:57:03 | 显示全部楼层
与楼上同龄。 我写了段代码,得到如下结果:从2000起写到2003止为素数;从2009起写到2049止为素数。 代码如下,大家可以自修改编译运行(试试以你中意数字起头的搜索):
  1. // HugeCalcDemo.cpp : Defines the entry point for the console application.
  2. //
  3. // Project -> Setting -> C/C++ -> Code Generation --> Use run-time library:
  4. // Win32 Debug: Debug Multithreaded DLL
  5. // Win32 Release: Multithreaded DLL
  6. #include <iostream.h>
  7. #include "../../../HugeCalc_API/CppAPI/Include/HugeCalc.h" // 公共接口
  8. #include "../../../HugeCalc_API/CppAPI/Include/HugeInt.h" // 10进制系统
  9. #include "../../../HugeCalc_API/CppAPI/Include/HugeIntX.h" // 16进制系统
  10. #pragma message( "automatic link to ../../../HugeCalc_API/CppAPI/Lib/HugeCalc.lib" )
  11. #pragma comment( lib, "../../../HugeCalc_API/CppAPI/Lib/HugeCalc.lib" )
  12. int main(int argc, char* argv[])
  13. {
  14. // printf("Hello World!\n");
  15. UINT32 i = 2000;
  16. CHugeIntX hugeTest(i);
  17. cout << "Call " << HugeCalc::GetVer() << endl << endl;
  18. if ( HC_LICENSE_NONE == HugeCalc::GetLicenseLevel())
  19. {
  20. cout << endl << "警告:您未通过 HugeCalc.dll 的许可认证!" \
  21. << endl << endl << "解决方案可选下列方案之一:" \
  22. << endl << " 一、请将本程序移动到“/CopyrightByGuoXianqiang/[../]”目录下运行;" \
  23. << endl << " 二、或请在 HugeCalc.chm 中进行注册(一劳永逸)。" \
  24. << endl << endl;
  25. system( "pause" );
  26. return (-1);
  27. }
  28. HugeCalc::EnableTimer();
  29. HugeCalc::ResetTimer();
  30. while ( 10000 > ++i )
  31. {
  32. ( hugeTest *= 10000 ) += i;
  33. if ( hugeTest.IsPrime() )
  34. {
  35. cout << HugeCalc::GetTimerStr( FT_HHMMSS_ms ) << "\ti = " << i << "\tOK" << endl;
  36. }
  37. else if ( 0 == i & 0xFF )
  38. {
  39. cout << HugeCalc::GetTimerStr( FT_HHMMSS_ms ) << "\ti = " << i << endl;
  40. }
  41. }
  42. system( "pause" );
  43. return 0;
  44. }
复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-5-9 08:11:36 | 显示全部楼层
你给增加一个输入开始数字语句不就可以了么?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-5-9 08:12:52 | 显示全部楼层
想列出个是3的倍数的模式 发现还挺复杂 谁有好主意?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-5-9 08:15:47 | 显示全部楼层
原帖由 无心人 于 2008-5-9 08:11 发表 你给增加一个输入开始数字语句不就可以了么?
因为代码很少,编译所费时间远小于运行时间。 当然,时间仓促,代码写得粗糙了点,但不影响使用。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-11-24 17:23 , Processed in 0.021211 second(s), 14 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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