2,8,9,10超时,究竟是哪里出错了啊!? (不该是数据溢出吧?)
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
long long unsigned int max(long long unsigned int a,long long unsigned int b);
long long unsigned int num=0;
long long unsigned int r=0;
long long unsigned int n;
cin>>n;
long long unsigned int zs1[n+1],zs2[n+1];
int j=1;
for(long long unsigned int i=2;i<=n;i++)
{
for(long long unsigned int ii=2;ii<i;ii++)
{
if(i%ii==0) j=0;
}
if(j!=0)
{
zs1[num]=i;
zs2[num]=i;
num++;
}
j=1;
}
cout<<"1st"<<num<<' '<<zs1[num]<<endl;//
for(long long unsigned int i=0;i<=num;i++)
{
for(long long unsigned int ii=0;ii<=num;ii++)
{
if(zs1[i]*zs2[ii]==n)
{
r=max(zs1[i],zs2[ii]);
cout<<"2rd"<<zs1[i]<<' '<<zs2[ii]<<endl;//
break;
}
}
if(r!=0) break;
}
cout<<r<<endl;
return 0;
}
long long unsigned int max(long long unsigned int a,long long unsigned int b)
{
long long unsigned int c;
if(a>b) c=a;
else c=b;
return c;
}