- 1000ms
- 131072K
已知正整数 n是两个不同的质数的乘积,试求出两者中较大的那个质数。
输入格式
一个正整数 n。
输出格式
一个正整数 p ,即较大的那个质数。
数据范围
n≤2×10^9
格式说明
输出时每行末尾的多余空格,不影响答案正确性
输入、输出要求
要求使用「文件输入、输出」的方式解题,输入文件为 prime.in
,输出文件为 prime.out
样例输入
21
样例输出
7
#include <stdio.h>
int Is_Prime(int n);
int main(void)
{
freopen("prime.in","r",stdin);
freopen("prime.out","w",stdout);
int n;
scanf("%d",&n);
for(int i=2;i<=n/2;++i)
{
if(n%i==0&&Is_Prime(i)&&Is_Prime(n/i))
{
printf("%d\n",n/i);
break;
}
}
return 0;
}
int Is_Prime(int n)
{
for(int i=2;i*i<=n;++i)
if(n%i==0)
return 0;
return 1;
}