0
已解决
李安雅
中级守护
中级守护
题目链接: 酷町堂:5076
5076 输出质因数2
经验值:800
时间限制:1000毫秒
内存限制:128MB
题目描述 De**ion
输入一个正整数n(100<=n<=200000000),从小到大输出n的所有质因数(质数本身也是它的一个质因数)。
输入描述 Input De**ion
一个正整数n
输出描述 Output De**ion
从小到大输出n的所有质因数
样例输入 Sample Input
18
样例输出 Sample Output
2 3
数据范围及提示 Data Size & Hint
50%的数据100<=n<=10000
100%的数据100000000<=n<=200000000
20分代码:
#include<iostream>
#include<iomanip>
#include<string>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<cstdio>
using namespace std;
bool f(int x){
if(x<=1){
return 0;
}
for(int i=2;i<=sqrt(x);i++){
if(x%i==0){
return 0;
}
}
return 1;
}
int main(){
int n;
cin>>n;
for(int i=2;i<=sqrt(n);i++){
if(n%i==0&&f(i)){
cout<<i<<" ";
}
}
return 0;
}