1.题目链接
2.题意描述
输入一个数,明确这个数一定是两个不同质数的乘积,求较大质因子
3.样例解读![样例](https://i-blog.csdnimg.cn/blog_migrate/50a491e591582c3f61ef067ab0aa5290.png)
- 样例:输入21,其两个质数因子分别为3和7,所以输出7
4.解题思路
此题为一道简单的数学题,根据题意及唯一分解定理(一个数能且只能分解为一组质数的乘积)可得,如果一个数n是两个不同质数的乘积,那么这个数n的因子只有可能为1和这个数n本身以及这两个质数因子,那么我们从2开始遍历到n-1,如果遇到某个数能被n整除,那么这个数一定为较小的质数因子,则较大的质数因子为n除以这个数
5.代码实现
#include <iostream>
using namespace std;
int n,m;
int main(){
cin>>n;
for(int i=2;i<n;i++){ //从2遍历到n-1
if(n%i==0){
m=n/i; //如果n能被i整除,那么n/i为较大质因子
cout<<m;
break;
}
}
return 0;
}