hdu 1431 素數回文 打素數表

2021-08-14 08:23:29 字數 661 閱讀 1683

關鍵: 1.找某個範圍內素數的個數,先採用素數打表預處理(就是在輸入之前判斷好了哪些是素數)效率高,.否則超時,用一標誌陣列isprime[i] 記錄這個數i是不是素數,為了避免超記憶體,這個陣列是bool型別

2.題目給的範圍到了10億,依然會超記憶體,怎麼縮小這個陣列的大小?我們只有自己在機上先跑一遍,然後看10億裡面最大的那個回文素數是多少,然後用那個數來確定isprime開多大

3.解決超時和超記憶體問題,這題才可以做。繼續努力吧。

#include#includeconst int maxn = 100000000000;

bool isprime[maxn];

int prime[1000+100];//記錄回文素數

int cnt = 0;//回文素數的個數

int huiwen(int n)//測試是不是回文

if(rs==tmp)return 1;

return 0;

}void del()

for(int j=i+i;j<=maxn;j=j+i)

} } }

int main()

printf("%d\n",prime[i]);

} printf("\n");

} return 0;

}

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 這裡有許多組資料,每組...

HDU 1431 素數回文

有人問我這個問題。個人感覺暴蒐會tle o n sqrt n n 100000000 推斷素數用2 sqrt n 1 去除 還是列舉好了。列舉 1 10000,把他每一位存下來,回文數已知 left 求 right 然後組合起來。比如 1 推斷 11 是否素數。比如 10 推斷 101 是否素數,推...