#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;
}
华为机试-质数因子
最新推荐文章于 2024-07-10 13:30:00 发布