题解 | #字符串分隔#

质数因子

http://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607

import java.util.Scanner;
import java.lang.Math;

public class Main{
    public static void main(String[] args) {
       Scanner scan = new Scanner(System.in);
       int num = scan.nextInt();
        // 1不算,所以从2开始;
        // 不需要一直遍历到num,截止到num开根号就行,具体为什么不太清楚 
       for(int i = 2;i<=Math.sqrt(num);i++){
          // num模i是否能除尽,取除尽的处理;能除尽就一直循环除,把能获取到的除数因子i都输出;
           while(num%i == 0){
               num = num/i;
               System.out.print(i + " ");
           }
       }
    // 能除尽的操作因子输出完,或者被除数没有因子,若大于1,直接输出
       if(num > 1){
           System.out.print(num);
       }
    }
}
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务