数论爱好者 发表于 2008-5-8 23:40:26

寻找连续自然数构成的素数外国人比我们研究得早,至今没有发现一个素数。
不过,从任意自然数数段上开始的素数也少得可怜,百年才遇一个火烧天。
比如,今年是2008年,从2008开始写起,一直写到2023年才是一个素数,以后不知何年何月才见素数这个美丽姑娘的出现。
2008200920102011201220132014201520162017201820192020202120222023
如果像下列数列会有素数出现吗
从10或100或1000开始,以9结尾
100101102103104105106107108109
500501502503504505506507508509
找到一个素数200201202203204205206207208209
我出生在1974年,从1974开始写起1974197519761977……,直到我老死,也没有见着一个鬼素数。

gxqcn 发表于 2008-5-9 07:57:03

与楼上同龄。:handshake

我写了段代码,得到如下结果:从2000起写到2003止为素数;从2009起写到2049止为素数。

代码如下,大家可以自修改编译运行(试试以你中意数字起头的搜索):// HugeCalcDemo.cpp : Defines the entry point for the console application.
//

//        Project -> Setting -> C/C++ -> Code Generation --> Use run-time library:
//                Win32 Debug:        Debug Multithreaded DLL
//                Win32 Release:        Multithreaded DLL

#include <iostream.h>

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

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

int main(int argc, char* argv[])
{
//printf("Hello World!\n");

        UINT32 i = 2000;
        CHugeIntX hugeTest(i);

        cout << "Call " << HugeCalc::GetVer() << endl << endl;

        if ( HC_LICENSE_NONE == HugeCalc::GetLicenseLevel())
        {
                cout << endl << "警告:您未通过 HugeCalc.dll 的许可认证!" \
                        << endl << endl << "解决方案可选下列方案之一:" \
                        << endl <<        "        一、请将本程序移动到“/CopyrightByGuoXianqiang/[../]”目录下运行;" \
                        << endl <<        "        二、或请在 HugeCalc.chm 中进行注册(一劳永逸)。" \
                        << endl << endl;
                system( "pause" );
                return (-1);
        }

        HugeCalc::EnableTimer();
        HugeCalc::ResetTimer();

        while ( 10000 > ++i )
        {
                ( hugeTest *= 10000 ) += i;

                if ( hugeTest.IsPrime() )
                {
                        cout << HugeCalc::GetTimerStr( FT_HHMMSS_ms ) << "\ti = " << i << "\tOK" << endl;
                }
                else if ( 0 == i & 0xFF )
                {
                        cout << HugeCalc::GetTimerStr( FT_HHMMSS_ms ) << "\ti = " << i << endl;
                }
        }

        system( "pause" );

        return 0;
}

无心人 发表于 2008-5-9 08:11:36

:lol

你给增加一个输入开始数字语句不就可以了么?

无心人 发表于 2008-5-9 08:12:52

想列出个是3的倍数的模式
发现还挺复杂

谁有好主意?

gxqcn 发表于 2008-5-9 08:15:47

原帖由 无心人 于 2008-5-9 08:11 发表 http://images.5d6d.net/dz60/common/back.gif
:lol

你给增加一个输入开始数字语句不就可以了么?

因为代码很少,编译所费时间远小于运行时间。

当然,时间仓促,代码写得粗糙了点,但不影响使用。:D
页: 1 2 3 [4]
查看完整版本: 连续自然数构成的素数