其他分享
首页 > 其他分享> > 求质数因子

求质数因子

作者:互联网

题目描述

功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )

  数据范围: 1 \le n \le 2 \times 10^{9} + 14 \1≤n≤2×109+14 

输入描述:

输入一个整数

输出描述:

按照从小到大的顺序输出它的所有质数的因子,以空格隔开。

注:质数(又称素数)指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数。

从2开始枚举因子即可,使用sqrt函数开根号缩小一下枚举范围。

代码如下:

#include<iostream>
#include <math.h>
using namespace std;

int main(){
    int n;
    while(cin>>n){
        for(int i=2;i<=sqrt(n);i++){
            while(n % i == 0){
                cout<< i <<' ';
                n/=i;
            }
        }
        if(n>=2)
            cout<< n <<endl;
    }

}

 

标签:le,14,int,质数,因子,include
来源: https://www.cnblogs.com/glodears/p/16542215.html