题解 | #质数因子#
质数因子
https://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607
import java.io.*; public class Main { public static void main(String args[]) throws IOException{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); long num=Long.parseLong(br.readLine());//输入流赋值 long k=(long)Math.sqrt(num);//取平方根减少循环次数 for(int i=2;i<=k;i++){//套一个循环 if(num%i==0){//整除 System.out.print(i+" ");//输出因子 num=num/i;//新值 k=(long)Math.sqrt(num);//新平方根 i=1;//重新从i=2开始整除 } } System.out.println(num==1?"":num+" "); //(三目条件运算符)原数为1则直接输出;原数为2不进入循环直接输出为2;环后若num只有其本身和1两个因子时,不进入循环,直接输出num;若为质数,也在循环若干次后退出循环直接输出自身 } }