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