刷题——质数因子

来源:互联网 发布:优酷淘宝搞笑视频 编辑:程序博客网 时间:2024/05/17 09:23
import java.util.Scanner;/* * 题目描述功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )最后一个数后面也要有空格详细描述:函数接口说明:public String getResult(long ulDataInput)输入参数:long ulDataInput:输入的正整数返回值:String输入描述:输入一个long型整数输出描述:按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。示例1输入180输出2 2 3 3 5 */public class 质数因子 {public static String getResult(long ulDataInput){StringBuilder sBuilder = new StringBuilder();int i=2;//如180=2*2*3*3*5,把所有2除掉后不会再有2了,放循环外防止每次从2开始while (ulDataInput!=1) {for (; i <= ulDataInput; i++) {if (ulDataInput%i==0) {sBuilder.append(i);sBuilder.append(" ");ulDataInput/=i;break;}}}return sBuilder.toString();}public static void main(String[] args) {// TODO Auto-generated method stubScanner scanner = new Scanner(System.in);while (scanner.hasNext()) {long ulDataInput = scanner.nextLong();System.out.println(getResult(ulDataInput));}}}