今天在做一道题,交的时候一直是TLE,不知道是哪里超时了,有人能解答一下吗
#include<bits/stdc++.h>
#include<string>
#include<algorithm>
#include<queue>
int prime(int n)
{
if(n<2)
{
return 0;
}
else
{
for(int i=2;i*i<n;i++)
{
if(n%i==0)
{
return 0;
}
}
}
return 1;
}
using namespace std;
int main()
{
int n,k;
cin>>n;
for(int p=1,q=p;p<=n,q<=n;p++,q++)
{
for(int q=1;q<=n;q++)
{
if(p*q==n&&p>q&&prime(p)==1&&prime(q)==1)
{
k=p;
}
}
}
cout<<k;
return 0;
}