c++捕捉风影

来源:百度知道 编辑:UC知道 时间:2024/06/17 20:47:05
请问我的程序为什么会超时?
#include<iostream>
#include<string>
#include<math.h>
using namespace std;
int main()
{
double ppd;
unsigned long long i,j,c,d,m,n,s,t,a1=0,b1=0,max,min,l=0,x[400000];
char asdf[100000];
string a,b;
cin>>a>>b;
n=atoi(a.c_str());
m=atoi(b.c_str());
if(n>m){max=n;min=m;}
if(m>n){max=m;min=n;}
if(m==n){max=m;min=n;}
for(i=min;i<=max;i++)
{
if(i>=1000 and i<=10000)i=10000;
if(i>=100000 and i<=1000000)i=1000000;
if(i>=10000000 and i<=100000000)i=100000000;
if(i==11){l++;x[l]=11;goto loop;}
if(i==1)goto loop;
if(i==2){l++;x[l]=2;goto loop;}
itoa(i,asdf,10);
s=strlen(asdf);
if(s%2==0)goto loop;
d=s-1;
for(c=0;c<=s/2-1;c++)
{
if(asdf[c]!=asdf[d])goto loop;
d--;
}
for(j=2;j<=sqrt(i);j++){if(i%j==0)goto loop;}
l++;x[l]=i;
loop:;
}
fo

unsigned long long i,j,c,d,m,n,s,t,a1=0,b1=0,max,min,l=0,x[400000];
这么多狼啊。
另外,你的char数组也太大了。换个小的试试。
还有,你的goto loop换成continue行不?