您的位置:首页 > 其它

华为机试-质数因子

2017-09-07 19:34 435 查看
#include<iostream>
#include<string>
#include<math.h>
using namespace std;

int numberCount(int nNumber, int& nCount)
{
nCount ++;
nNumber = nNumber/10;
if(nNumber != 0)
{
nNumber = numberCount(nNumber, nCount);
}
return 0;
}

string getResult(long ulDataInput)
{
string endResult;
char *pResult = new char[ulDataInput];
for(int i = 0; i<ulDataInput; i++)
{
*(pResult + i) = '\0';
}
int nCount = 0;
for(int index = 2; index <= ulDataInput;)
{
if((ulDataInput % index) == 0)
{

ulDataInput = ulDataInput / index;
sprintf((pResult + nCount), "%d ", index);
int nIndex = 1;
numberCount(index, nIndex);
nCount = nCount + nIndex;
continue;
}
else
{
index++;
}
}
endResult = pResult;
delete[] pResult;
return endResult;
}
int main()
{
long ulInputData;
cin>>ulInputData;
string szResult;
szResult = getResult(ulInputData);
cout<<szResult;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  华为