【题目描述】
已知正整数n是两个不同的质数的乘积,试求出较大的那个质数。
【输入】
输入只有一行,包含一个正整数 n。
【输出】
输出只有一行,包含一个正整数 p,即较大的那个质数。
【输入样例】
21
【输出样例】
7
思路:
通过题意我们从2开始遍历取模当等于0时候代表找到了第一个质因子,并且在本题中可以确定另一个较大质因子就是n/2,循环条件控制在i*I<=n即可。
#include<iostream>
using namespace std;
int main()
{
int n;
cin >> n;//n是两个质数的乘积
for (int i = 2; i*i <= n; i++)
{
if (n%i == 0) {//第一次满足条件i一定是n最小质因子
cout << n / i << endl;//n除掉最小质因子i,对于这道题一定会得到最大质因子n/i
break;
}
}
return 0;
}