题目描述
功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )
详细描述:
函数接口说明:
public String getResult(long ulDataInput)
输入参数:
long ulDataInput:输入的正整数
返回值:
String
输入描述:
输入一个long型整数
输出描述:
按照从小到大的顺序输出它的所有质数的因子,以空格隔开
输入例子:
180
输出例子:
2 2 3 3 5
import java.util.*; public class Main{ public static void main(String[] a){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ long l = sc.nextLong(); System.out.print(getResult(l)); } } public static String getResult(long ulDataInput){ StringBuilder sb = new StringBuilder(); if(ulDataInput <= 1){ return "1"; } while(ulDataInput!=1){ for(int i=2;i<=ulDataInput;i++){ if(ulDataInput%i==0){ sb.append(i + " "); ulDataInput = ulDataInput/i; break; } } } return sb.toString(); } }
如果我把找质数因子封装成函数如所示代码,结果正确;如果我把它们合并到主函数里显示时间超限!!!什么情况
时间: 2024-12-25 05:48:01