题目描述
已知正整数 n 是两个不同的质数的乘积,试求出两者中较大的那个质数。
输入格式
输入一个正整数 n。
输出格式
输出一个正整数 p,即较大的那个质数。
输入输出样例
输入 #1
21
输出 #1
7
说明/提示
1≤n≤2×109
NOIP 2012 普及组 第一题
思路
这道题让我们分解质因数,而质数本身是无法分解的(1和本身除外)
由此得出能分解质因数的数的两个质因数就是它的两个因数,而题目中测试点必定只给具有两个质因数的数,所以只需要比较数的两个因数中最大的一个就可以了(有点啰嗦,请见谅)
下面直接写代码就行了
AC代码

#include<bits/stdc++.h>//万能头文件
using namespace std;//使用标准命名空间
int main()
{
int i=2,n;
cin>>n;
//取最大因数
while(n%i!=0)
i++;
cout<<n/i;
return 0;
}
文章介绍了如何解决一个编程问题,给定一个正整数n,找到其两个不同质因子中的较大值。通过分解质因数并比较因数,提供了C++代码实现。
1154

被折叠的 条评论
为什么被折叠?



