题目描述:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子,如180的质数因子为2 2 3 3 5
输入描述:输入一个long型整数
输出描述:按照从小到大的顺序输出它的所有质数的因子,以空格隔开
输入例子:180
输出例子:2 2 3 3 5
算法实现:
#include<iostream>#include<vector>using namespace std;/************************************************ * Author: 赵志乾 * Date: 2017-2-16 * Declaration: All Rigths Reserved !!! ***********************************************/ bool PRime(long a){ if(a<=1&&a>=0) return false; for(int i=2; i*i<a;i++) { if(a%i==0) return false; } return true;}int main(){ long indata; cin>>indata; vector<long>ret; for(int i=2;i<=indata;i++) { if(prime(i)) { while(indata%i==0) { ret.push_back(i); indata=indata/i; } } } for(int i=0;i<ret.size()-1;i++) { cout<<ret[i]<<' '; } cout<<ret[ret.size()-1]<<endl; return 0;}
新闻热点
疑难解答
图片精选