C++ 功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(如180的质因子为2 2 3 3 5 ) 最后一个数后面也要有空格

详细描述:

函数接口说明:
public String getResult(long ulDataInput)
输入参数:
long ulDataInput:输入的正整数
返回值:
String

输入描述:
输入一个long型整数
输出描述:
按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。

#include <iostream>
#include <cmath> 
#include<sstream>
using namespace std; 
string getResult(long ulDataInput)
{    
	string s = "";    
	bool flag = true;    
	int i = 2;    
	for(; i <= sqrt(ulDataInput); i++)    
	{        
		if(ulDataInput % i==0)        
		{            
			flag = false;            
			break;        
		}    
	}    
	if(flag){
		stringstream s2;
    	s2<<ulDataInput;
    	return s += s2.str() + " "; 
	}        
		   
	else        
		return getResult(i) + getResult(ulDataInput / i);
}

int main()
{    
	long int dataInput;    
	cin >> dataInput;    
	cout << getResult(dataInput);    
	return 0;	
}


版权声明:本文为zhenmtwx原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。