Euler

最大质因数

内存限制:128 MB时间限制:10.000 S

题目描述

13195的所有质因数为5、7、13和29。

那么,n的最大的质因数是多少?

输入

一个整数n(n<

输出

一行,一个整数表示n的最大质因数

样例输入

13195

样例输出

29

思路分析

从小到大,找出n的所有质因数。每找到一个质因数i,就记ans=i,并while循环n/i直至n不能整除i。

如果以上操作结束后,n>1,此时的n就是要求的最大质因数。

代码
cpp 复制代码
#include<bits/stdc++.h>
#define ll unsigned long long
using namespace std;
ll n,ans;
int main(){
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    cin>>n;
    for(ll i=2;i*i<=n;i++){
        while(n%i==0){
            ans=i;
            n/=i;
        }
    }
    if(n>1){
        ans=n;
    }
    cout<<ans;
    return 0;
}

(如果先处理因子2,再循环处理奇数因子,会快一点)

cpp 复制代码
#include<bits/stdc++.h>
#define ll unsigned long long
using namespace std;
ll n,ans;
int main() {
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    cin>>n;
    while(n%2==0){
        ans=2;
        n/=2;
    }
    for(ll i=3;i*i<=n;i+=2){
        while(n%i==0){
            ans=i;
            n/=i;
        }
    }
    if(n>1){
        ans=n;
    }
    cout<<ans;
    return 0;
}
相关推荐
luj_17686 小时前
星火科技助力边远地区防病攻坚
c语言·开发语言·c++·经验分享·算法
zmzb01036 小时前
C++课后习题训练记录Day175
开发语言·c++
啦啦啦啦啦zzzz7 小时前
工具:动态类工厂和用配置文件存储属性
c++·设计模式·工具·动态工厂
脱胎换骨-军哥7 小时前
C++ 代码规范与格式化指南
开发语言·c++·代码规范
geats人山人海8 小时前
数据结构第六章c语言 树的存储下二叉树的概念和存储
c语言·数据结构·算法
漂流瓶jz9 小时前
UVA-12627 奇怪的气球膨胀 题解答案代码 算法竞赛入门经典第二版
算法·图论·递归·aoapc·算法竞赛入门经典·uva·12627
迷途之人不知返9 小时前
lambda表达式
c++
jarvisuni9 小时前
DeepSeekFlash前端依旧拉垮,而且变慢了很多!
前端·javascript·算法
@三十一Y9 小时前
C++:红黑树的实现
开发语言·c++
kobesdu9 小时前
流形上的优化:SO(3)与SE(3)的广义加减法在FAST-LIO中如何简化状态估计
人工智能·算法·fastlio