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;
}
相关推荐
Z...........5 小时前
优选算法(滑动窗口)
数据结构·算法
泡泡鱼(敲代码中)6 小时前
数据结构(顺序表和链表)
笔记·学习·算法
文火冰糖的硅基工坊6 小时前
[人工智能-大模型-58]:模型层技术 - 深度神经网络的本质是一个复杂的复合数学函数
人工智能·神经网络·算法·dnn
酌量6 小时前
基于3D激光点云的障碍物检测与跟踪---(3)基于匈牙利算法的障碍物跟踪
学习·算法·机器人·匈牙利算法·障碍物跟踪
赵杰伦cpp6 小时前
C++的继承机制精讲
java·开发语言·c++·后端
.ZGR.7 小时前
蓝桥杯高校新生编程赛第一场题解——Java
java·算法·蓝桥杯
自由生长20247 小时前
数据结构科普-红黑树
算法
每天进步一点点dlb7 小时前
JVM中的垃圾回收算法和垃圾回收器
jvm·算法
tongsound7 小时前
记录一次崩溃问题排查过程(gtsam库相关,avx)
linux·c++