[NOIP2012 普及组] 质因数分解
题目描述
已知正整数 \(n\) 是两个不同的质数的乘积,试求出两者中较大的那个质数。
输入格式
输入一个正整数 \(n\)。
输出格式
输出一个正整数 \(p\),即较大的那个质数。
样例 #1
样例输入 #1
21
样例输出 #1
7
提示
\(1 \le n\le 2\times 10^9\)
NOIP 2012 普及组 第一题
- 参考程序
#include<bits/stdc++.h>
#include<string>
using namespace std;
bool isp(int n){
for(int i=2; i<=n/i; i++) {
if(n%i==0) return 0;
}
return n > 1;
}
int main(){
int n; cin>>n;
for(int i=2; i<n/i; i++){
if(n%i==0 && isp(i) && isp(n/i)){
cout<<n/i; break;
}
}
return 0;
}
标签:普及,因数分解,int,质数,样例,P1075,NOIP2012
From: https://www.cnblogs.com/hellohebin/p/18090403