编程题,输入一个正整数,输出它的所有质数的因子(如180的质数因子为2、2、3、3、5)

这个思路是什么样的

import java.util.*;

public class Main{

public static void main(String[]args){

Scanner str=new Scanner(System.in);

long num=str.nextLong();

String result=getResult(num);

System.out.println(result);

}

public static String getResult(long num){

int pum=2;

String result="";

while(num!=1){

while(num%pum==0){

num=num/pum;

result=result+pum+"";

}

pum++;

}

return result;

}

}

扩展资料:

while循环开始后,先判断条件是否满足,如果满足就执行循环体内的语句,执行完毕后再回来判断条件是否满足,如此无限重复;直到条件不满足时,执行while循环后边的语句。简单来讲就是说while循环是先判断后循环, 判断如果满足条件进入循环 本次循环后再次判断 。

举个例子:

do-while循环与while循环的不同在于:它先执行循环中的语句,然后再判断表达式是否为真, 如果为真则继续循环;如果为假, 则终止循环。因此do-while循环至少要执行一次循环语句。 简单来讲就是说while循环是先循环后判断 。

举个例子:

总结:while循环是先判断后循环 ,而do–while循环是先循环后判断。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-08-22
定义整数变量n,k,i;
输出信息"请输入一个整数:";
读取输入的整数到n;
判断n合法性(n>1),否则重复上面两步;
计算k=sqrt(n);
计i=1 to k,判断i是否整除n,
如果是,判断i是否质数,
还如果是,输出i;
直至循环结束。

其中,判断一个数是否质数,
可以写一个子函数,
判断2~i-1中的数,是否想除i。本回答被提问者和网友采纳
第2个回答  2019-08-22
找出一个质数后除以它再找质数追问

精辟

第3个回答  2019-08-22
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
long num = sc.nextLong();
System.out.println(getResult(num));

}
public static String getResult(long num){
int a = 2;
String result = "";
while(num != 1){
while(num%a ==0){
num = num / a;
result = result + a +" ";
}
a++;
}
return result;
}
}
相似回答