TB椰程 TypeBuddy 打字搭子

质因数分解

洛谷·深入浅出 · 代码 · cpp · 难度 2/5 · 共 413 字

已知是俩不同质数之积,求较大者

  • 洛谷
  • 练习

正文

// 原题:https://oj.yecheng.tv/p/1438
// 题意:n 是两个不同质数的乘积,输出较大的那个质数。
// 思路:从 2 起试除,第一个能整除的因子必为较小质数,另一个即为 n/i,输出较大的。
// 复杂度:O(sqrt(n))。
// 易错点:n<=2e9 用 long long 试除;第一个因子即为较小质数。
#include <iostream>
using namespace std;
int main(){
    long long n;
    cin >> n;
    for(long long i = 2; i * i <= n; i++){
        if(n % i == 0){
            cout << n / i << endl;
            return 0;
        }
    }
    return 0;
}

洛谷·深入浅出的其它内容

打字首页 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK