2012_p1 质因数分解 (prime.cpp/c/pas)

2012_p1 质因数分解 (prime.cpp/c/pas)

时间限制: 1 Sec  内存限制: 128 MB
提交: 80  解决: 27
[提交][状态][讨论版][命题人:外部导入]

题目描述

1.质因数分解

(prime.cpp/c/pas) 

【问题描述】

已知正整数 n 是两个不同的质数的乘积,试求出较大的那个质数。

 

【输入】

输入文件名为 prime.in。

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

 

【输出】

输出文件名为 prime.out。

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

 

【输入输出样例】

prime.in 

21 

prime.out 

 

 

 

【数据范围】

对于 60%的数据,6 ≤ n ≤ 1000。

对于 100%的数据,6 ≤ n ≤ 2*109。

输入

 

输出

 

提示

 

核心思路:枚举

n是两个质数的乘积,所以n仅有四个因数即 1,较小质数,较大质数,n本身

所以对n从整数2开始取余,第一个能整除的数就是较小的那个质数。

#include<iostream>
using namespace std;
int main()
{
    long long int n,m;//m为较小质数
    cin>>n;
    for(long long int i=2;i<n;i++)
        if(n%i==0){m=i;break;}//用枚举发找出m,找到时退出循环
        cout<<n/m<<endl;
        return 0;
}

 

posted on 2018-03-15 22:59  蔡军帅  阅读(460)  评论(0编辑  收藏  举报