1098:质因数分解
【题目描述】
已知正整数nn是两个不同的质数的乘积,试求出较大的那个质数。
【输入】
输入只有一行,包含一个正整数 nn。
对于60%的数据,6≤n≤10006≤n≤1000。
对于100%的数据,6≤n≤2×1096≤n≤2×109。
【输出】
输出只有一行,包含一个正整数 pp,即较大的那个质数。
【输入样例】
21
【输出样例】
7
代码
#include <bits/stdc++.h>
using namespace std;
bool isprime(int n){
if(n==2) return true;
for(int i=3;i*i<=n;i++)
if(n%i==0) return false;
return true;
}
int main(){
int n;
cin>>n;
if(n%2==0 && isprime(n/2) ) cout<<n/2;
for(int i=3;i*i<=n;i++ ){
if(n%i==0 && isprime(n/i)){
cout<<n/i;
break;
}
}
return 0;
}
来源:CSDN
作者:hipoole
链接:https://blog.csdn.net/hipoole/article/details/103553249