關鍵: 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 是否素數,推...