P1075 [NOIP 2012 普及组] 质因数分解
题目描述
已知正整数 n n n 是两个不同的质数的乘积,试求出两者中较大的那个质数。
输入格式
输入一个正整数 n n n。
输出格式
输出一个正整数 p p p,即较大的那个质数。
输入输出样例 #1
输入 #1
21
输出 #1
7
说明/提示
1 ≤ n ≤ 2 × 10 9 1 \le n\le 2\times 10^9 1≤n≤2×109
NOIP 2012 普及组 第一题
题解
#include<bits/stdc++.h>
using namespace std;
long long n;
bool is_prime(int x){
if(x <= 1) return false;
for(int i=2;i<=x/i;++i){
if(x % i == 0) return false;
}
return true;
}
int main(){
cin>>n;
for(int i=1;i<=n/i;i++){
if(n%i == 0 && is_prime(i) && is_prime(n/i)){
cout<<n/i<<endl;
return 0;
}
}
return 0;
}