描述
功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )
详细描述:
函数接口说明:
public String getResult(long ulDataInput)
输入参数:
long ulDataInput:输入的正整数
返回值:
String
知识点 排序
运行时间限制 10M
内存限制 128
输入
输入一个long型整数
输出
按照从小到大的顺序输出它的所有质数的因子,以空格隔开
样例输入 180
样例输出 2 2 3 3 5
#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
#include<cmath>
using namespace std;
bool is_pri(int n){
if (n < 2) return false;
for (int i = 2; i < n; i++){
if (n % i == 0) return false;
}
return true;
}
int main(){
long int n;
cin >> n;
for (int i = 2; i < n;i++){
if ((n%i == 0) && is_pri(i)){
cout << i << " ";
n = n / i;
if (is_pri(n)){
cout << n << endl;
break;
}
i = 1;
}
}
return 0;
}
#include<iostream>
#include<vector>
#include<string>
#include<algorithm>
#include<cmath>
using namespace std;
int main(){
vector<int> v;
long n;
cin >> n;
int t;
for (int i = 2; i <=n; i++){
t = i;
if (n%t == 0 ){
v.push_back(t);
n=n / t;
i = 1;
}
}
sort(v.begin(), v.end());
for (int i = 0; i < v.size() - 1; i++){
cout << v[i] << " ";
}
cout << v[v.size() - 1] << endl;
return 0;
}