题目描述:
已知正整数 n 是两个不同的质数的乘积,试求出两者中较大的那个质数。
输入格式:
输入一个正整数 n。
输出格式:
输出一个正整数 p,即较大的那个质数。
思路:
因为对于任意一个整数 n 的 约数1 来说,一定有 约数2 * 约数1 = n ;
所以我们只需从2开始一次向上枚举,直到有一个整数 i 为 n 的约数为止。
由于 i 一定是 n 最小的约数。
所以,与i对应的整数 j 一定是 n 最大的约数。
代码:
#include<bits/stdc++.h>
using namespace std;
int n;
int main()
{
cin>>n;
for(int i=2;i<=n;i++)
{
if(n%i==0)
{
n/=i;
cout<<n;
break;
}
}
return 0;
}