已知正整数n是两个不同的质数的乘积,试求出较大的那个质数。
输入只有一行,包含一个正整数?n。
对于60%的数据,6≤n≤1000。
对于100%的数据,6≤n≤2×109。
输出只有一行,包含一个正整数?p,即较大的那个质数。
21
7
#include <bits/stdc++.h>
using namespace std;
int main ()
{
int n,flag1,flag2,t=0,out=0;
cin>>n;
for(int i=2;i<=n;i++)
{
flag1=false;
for(int j=2;j<i;j++)
{
if(i%j==0)
{
flag1=true;
break;
}
}
if(!flag1)
{
t=n/i;
if(n==t*i)
{
flag2=false;
for(int k=2;k<t;k++)
{
if(t%k==0)
{
flag2=true;
break;
}
}
if(!flag2)
{
cout<<t;
break;
}
}
}
}
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int main ()
{
int n,x,y,t=0,out=0;
cin>>n;
for(int i=2;i<=n;i++)
{
x=2;
while(x<=floor(sqrt(i))&&(i%x!=0))
{
x++;
}
if(x>floor(sqrt(i)))
{
t=n/i;
if(n==i*t)
{
y=2;
while(y<=floor(sqrt(t))&&(t%y!=0))
{
y++;
}
if(y>floor(sqrt(t)))
{
cout<<t<<endl;
break;
}
}
}
}
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int main ()
{
int n,x,y,t=0,out=0;
cin>>n;
for(int i=2;i<=n;i++)
{
if(n%i==0)
{
cout<<n/i;
break;
}
}
return 0;
}