跪求大佬分析超时原因
查看原帖
跪求大佬分析超时原因
517876
TaamZeonhei楼主2021/6/8 10:42

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;
}
2021/6/8 10:42
加载中...