素數回文5到一億

2021-08-06 06:54:58 字數 585 閱讀 6820

除了11外,任意偶數長度的回文都不是素數因為都會被11整除。題目給的範圍裡最大的回文素數就是9989899。所以陣列只要開到這個數就夠了,減少了很多數的篩選與陣列的空間。

#includebool is[9989900]; //如果i是素數,then is[i]=fasle, else is[i]=true;

int prime[1000]; //prime用來存回文素數表

void set()//高效判斷素數法:所有和數都等於n個素數的乘積

}

bool test(int a)//判斷a是不是回文數

return a==b;

}

int main()

{

int a,b;

int i,k=0;

set();

for(i=5;i<=9989899;i+=2)

if(!is[i]&&test(i))

prime[k++]=i;

while(~scanf("%d %d",&a,&b))

{

for(i=0;i

hdu 素數回文

ps 題目大意是,給定x和y x y 輸出x和y區間內所有既是素數又是回文的數,5 x y 1e8 這道題很簡單啊,求素數多簡單,求回文多簡單 題目資料範圍過大,導致素數篩直接被捨棄,直接使用乙個for來判斷的話,會超時 可能也不會,網上確實有直接判斷能ac的題解,但是我自己寫的就超時,難道是 人品...

hdu1431素數回文

problem description xiaoou33對既是素數又是回文的數特別感興趣。比如說151既是素數又是個回文。現在xiaoou333想要你幫助他找出某個範圍內的素數回文數,請你寫個程式找出 a 跟b 之間滿足條件的數。5 a b 100,000,000 input 這裡有許多組資料,每組...

hdu 1431 素數回文

problem description xiaoou33對既是素數又是回文的數特別感興趣。比如說151既是素數又是個回文。現在xiaoou333想要你幫助他找出某個範圍內的素數回文數,請你寫個程式找出 a 跟b 之間滿足條件的數。5 a b 100,000,000 input 這裡有許多組資料,每組...