有人問我這個問題。
個人感覺暴蒐會tle o(n*sqrt(n))。n=100000000;(推斷素數用2~sqrt(n)+1 去除)
還是列舉好了。
列舉 1~10000,把他每一位存下來,回文數已知 left 。求 right ,然後組合起來。
比如 1 ,推斷 11 是否素數。
比如 10 。推斷 101 是否素數, 推斷 1001 是否素數。
這樣複雜度就是 o(n^2)。
開始我 bool pa[100000000] 準備用標記來確定。
結果mle。
然後算了一下 總共同擁有多少個數,最多 781 個。 int pa[1000] 就能夠裝下了。
g++ 15ms
#include#include#include#include#include#include#include#include#include#include#include#include#define inf 0x7fffffff#define eps 1e-8
#define ll long long
#define pi 3.141592654
#define clr(a,b) memset(a,b,sizeof(a))
#define for(i,a,b) for(int i=a;i=b;i--)
#define pb push_back
#define mp make_pair
#define ft first
#define sd second
#define sf scanf
#define pf printf
#define sz(v) ((int)(v).size())
#define all(v) (v).begin(),(v).end()
#define acfun std::ios::sync_with_stdio(false)
#define size 100000000 +1
using namespace std;
int pa[1000];
int cot;
bool prime(int n)
void pa()
int ans=i;
if(len>1)
ans=i;
for(r,0,len)
ans=ans*10+num[r];
if(prime(ans))
pa[cot++]=ans;
}}int main()
}
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 是否素數,推...