牛客网——华为机试(题6:质数因子)(Java)

题目描述:

功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )

最后一个数后面也要有空格

详细描述:


函数接口说明:

public String getResult(long ulDataInput)

输入参数:

long ulDataInput:输入的正整数

返回值:

String

输入描述:

输入一个long型整数

输出描述:

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

示例1:

输入:

180

输出:

2 2 3 3 5

代码: 

import java.util.Scanner;

public class Main {
	public static void main (String[] args) {
		Scanner in = new Scanner(System.in);
		long n = in.nextLong();
		System.out.print(getResult(n));
	}
	
	public  static String getResult (long data) {
		String s = "";
		for(int i = 2;i<=data;i++) {
			while(data%i==0) {
				data = data/i;
				s=s+Long.toString(i)+" ";
			}
		}
		return s;
	}

}
原文地址:https://www.cnblogs.com/cg-bestwishes/p/10681171.html