P1075 [NOIP2012 普及组] 质因数分解

[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;
}
posted @ 2024-03-22 20:46  HelloHeBin  阅读(65)  评论(0)    收藏  举报