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;	
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章