hdu 1431 素數回文

2021-06-22 22:02:51 字數 1225 閱讀 3762

problem description

xiaoou33對既是素數又是回文的數特別感興趣。比如說151既是素數又是個回文。現在xiaoou333想要你幫助他找出某個範圍內的素數回文數,請你寫個程式找出 a 跟b 之間滿足條件的數。(5 <= a < b <= 100,000,000);

input

這裡有許多組資料,每組包括兩組資料a跟b。

output

對每一組資料,按從小到大輸出a,b之間所有滿足條件的素數回文數(包括a跟b)每組資料之後空一行。

sample input

5 500

sample output

5711

101131

151181

191313

353373

383

很坑的題目,不用篩法,超時,用篩法,超記憶體。

第一**: 超時

#includeint is_prime(int x)

int change(int y)

return s;

}int main()

printf("\n");        

}return 0;

}

第二**: 超記憶體 5 --100,000,000 之間最大的回文數就是9989899,故此陣列開到9989899稍大就行;

#includeint change(int y)

return s==t;

}int a[9999899]=;

int main()

}

while(scanf("%d%d",&x,&y)!=eof)

printf("\n");

}return 0;

}

經過一下午,發現了bool型別資料,是記憶體減少了好些

#includeint change(int y)

return s==t;

}bool a[9999899]=;

int main()

}

while(scanf("%d%d",&x,&y)!=eof)

printf("\n");

}return 0;

}

hdu1431素數回文

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

素數回文 HDU 1431

本題資料稍微有點大,所以判斷素數時需要開方,並且可以事先求出最大的回文素數 9989899,這樣資料量就減少了90 再就是注意再判斷回文的速度比判斷素數快,且回文比素數少所以在判斷時應選擇先判斷回文,當數值達到千萬後判斷素數速度尤為慢,所以先判斷回文可以篩掉一大半 k 素數回文 25 cpp 此檔案...