质因数分解-函数

题目描述

原题来自:NOIP 2012 普及组 
已知正整数 n  是两个不同的质数的乘积,试求出较大的那个质数。

输入格式

输入只有一行,包含一个正整数 n  。

输出格式

输出只有一行,包含一个正整数 p ,即较大的那个质数。

输入样例 

21

输出样例 

7

数据范围与提示

数据范围与提示:

对于 30% 的数据,n≤1000;

对于全部数据,6≤n≤2×109 。

复制代码
#include<iostream>
using namespace std;

bool isPrime(int x){
    for(int i=2; i*i<=x; i++){
        if(x%i==0) 
            return 0;
    }
    return 1;
}

int main(){
    int n;
    cin>>n;
    for(int i=2; i*i<=n; i++){
        // n=最小质数*最大质数。
        if(isPrime(i) && n%i==0){
            cout<<n/i;
            break;
        } 
    }
    return 0;
}
复制代码

 

posted @   Hi,小董先生  阅读(43)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示