算法 求一个数的质因数

【算法 求一个数的质因数】少年乘勇气,百战过乌孙。这篇文章主要讲述算法 求一个数的质因数相关的知识,希望能为你提供帮助。
题目描述功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2  2  3  3  5  )
最后一个数后面也要有空格   详细描述:

函数接口说明:
public  String  getResult(long  ulDataInput)
输入参数:
long  ulDataInput:输入的正整数
返回值:
String
 
 
输入描述:输入一个long型整数
输出描述:按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。
示例1输入复制

180

输出 复制
2 2 3 3 5

思路:
1、2开始整除能除尽则是质因子
2、因为质因数顾名思义,即是质数也是因数,那么我们可以从2-sqrt(n)+1,求出其中的质数,然后以此判断能否被n整除。


 
#include < iostream>
#include < algorithm>
#include < string.h>
#include < string>
#include < map>
using namespace std;
string GetData(long index)
{
int i = 2;
string ResStr = "";
while(index> =2){
if(index%i==0){
ResStr+=to_string(i)+" ";
index/=i;
}
else{
i++;
}
}
return ResStr;
}
int main() {
long n;
cin> > n;
cout < < GetData(n) < < endl;
return 0;
}
 
参考:https://blog.csdn.net/little_girl_ly/article/details/80139092

    推荐阅读