【题目描述】
已知正整数nn是两个不同的质数的乘积,试求出较大的那个质数。
【输入】
输入只有一行,包含一个正整数 nn。
对于60%的数据,6≤n≤1000。
对于100%的数据,6≤n≤2×10^9。
【输出】
输出只有一行,包含一个正整数 p,即较大的那个质数。
【输入样例】
21
【输出样例】
7
[题目链接】
#include <stdio.h>
int isPrime(int n)
{
int i;
if (n < 2)
return 0;
for (i = 2; i * i <= n; i++)
{
if (n % i == 0)
return 0;
}
return 1;
}
int main()
{
int n, j;
scanf("%d", &n);
int minPrime = 0;
for (j = 2; j * j <= n; j++)
{
if (n % j == 0 && isPrime(j))
{
if (j > minPrime)
minPrime = j;
}
}
printf("%d", n / minPrime);
return 0;
}