和状态的MD5编码 原帖由 无心人 于 2008-4-23 17:42 发表 http://images.5d6d.net/dz60/common/back.gif
:)
你加上定时存盘和冗余纠错
我给你挂服务器上三个月
逃跑:L :)
这么大的工作量
无法保证在运行时机器断电
:lol
不做我说的那两点
最大运行时间只能是24小时
做不到7天 如果降序排列
在82产生素数
82818079...987654321是素数 http://mathworld.wolfram.com/ConsecutiveNumberSequences.html
似乎目前没找到素数该链接里的内容很有参考价值 无心人上面给出的外国网址,我去看了一下,他们给出的通项式
1/81*(10^(n+1)-9n-10)
当n在1至9时,符合我的连续自然数形式,当n=10以后,不满足连续自然数。
如n=10时,计算值1234567900,不是我要的12345678910
n=11时,计算值12345679011,不是我要的1234567891011
n=17,12345679012345677
请无心人验证我的计算是否正确
说明这个通项式不是连续自然数的通项式
回复 26# 的帖子
文中说过的,该公式仅适用于“up to n=9” 而对于n在10和99之间,100和999之间等等,都有类似的公式,只是一些系数不同。不过这个公式好像用处不大快速测试到某个连续自然数是否为素数的代码
#include <stdlib.h>#include <stdio.h>
#include <assert.h>
#include "../../../HugeCalc_API/CppAPI/Include/HugeCalc.h" // 公共接口
#include "../../../HugeCalc_API/CppAPI/Include/HugeInt.h" // 10进制系统
#pragma message( "automatic link to ../../../HugeCalc_API/CppAPI/Lib/HugeCalc.lib" )
#pragma comment( lib, "../../../HugeCalc_API/CppAPI/Lib/HugeCalc.lib" )
#define NUMB 82
#define DIGITS_OF_NUMB 2 // digits of NUMB
#define POW10_DIGITS 100 // 10^DIGITS_OF_NUMB
int main( void )
{
const UINT32 len = ( NUMB + 1 )*DIGITS_OF_NUMB - ( POW10_DIGITS - 1 ) / 9;
char *pBuf, *p;
UINT32 i, d=0;
p = pBuf = new char;
assert( NULL != pBuf );
memset( pBuf, 0, ( len + 1 )*sizeof( char ));
#if 0
for ( i = 1; i <= NUMB; ++i )
#else
for ( i = NUMB; i > 0; --i )
#endif
{
d = sprintf( p+=d, "%u", i );
}
assert( strlen(pBuf) == len );
HugeCalc::EnableTimer();
printf( CHugeInt( pBuf ).IsPrime() \
? "Is a prime number!\r\n" \
: "Is not a prime number.\r\n" );
HugeCalc::EnableTimer( FALSE );
printf( "computation took %s\r\n", HugeCalc::GetTimerStr( FT_HHMMSS_ms ));
delete []pBuf;
return 0;
} :)
玩素性检测看来不行了
可以考虑玩分解
不过分解代价很高