【素数】质因数分解

问题 A: 【素数】质因数分解
时间限制: 1 Sec 内存限制: 128 MB

题目描述
已知正整数n是两个不同的质数的乘积,试求出较大的那个质数。
输入
输入只有一行,包含一个正整数n。6 ≤ n ≤ 2*109
输出
输出只有一行,包含一个正整数p,即较大的那个质数。
样例输入 Copy
21
样例输出 Copy
7
AC代码

#include<bits/stdc++.h>
typedef long long ll;
using namespace std;

const int N=4e5+5;
int a[N],c=0;
int n;
int main()
{
    int i;
    scanf("%d",&n);
    for(i=2;i*i<=n;i++)
    {
        while(n%i==0)
        {
            a[++c]=i;
            n=n/i;
        }
    }
    if(n!=1)a[++c]=n; /*本身*/

    printf("%d",a[c]);
//    for(i=1;i<=c;i++)
//        printf("%d ",a[i]); //输出所有质因数
    return 0;
}


发布了3 篇原创文章 · 获赞 1 · 访问量 1375

猜你喜欢

转载自blog.csdn.net/weixin_45800034/article/details/104109865