zoukankan      html  css  js  c++  java
  • 质数因子

    质数因子

           目之所及,皆是回忆;心之所想,皆是过往;眼之所看,皆是遗憾。

    背景:Java 在线编程机试刷题。

    题目描述:

    输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )最后一个数后面也要有空格

    输入描述:

    输入一个long 型整数。

    输出描述:

    按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。

    示例1:

    输入:

    180

    输出:

    2 2 3 3 5

    Java代码:

     1 import java.util.Scanner;
     2 
     3 public class Main{
     4     
     5     public static void main(String [] args){
     6         Scanner scan = new Scanner(System.in);
     7         long input = scan.nextLong();
     8         if(input >= 2){
     9             System.out.print(qualitiesNum(input));
    10         }else{
    11             // 2是最小的质数
    12             return;
    13         }
    14         scan.close();
    15     }
    16     
    17     private static String qualitiesNum(long input){
    18         int smallestQuality = 2;
    19         StringBuilder sb = new StringBuilder();
    20         while(input >= smallestQuality){
    21             if(input % smallestQuality == 0){
    22                 if(input == smallestQuality){
    23                     sb.append(smallestQuality).append(" ");
    24                     break;
    25                 }else{
    26                     input = input / smallestQuality;
    27                     sb.append(smallestQuality).append(" ");
    28                 }
    29             }else{
    30                 smallestQuality++;
    31             }
    32         }
    33         return sb.toString();
    34     }
    35     
    36 }

    输出验证:


     

     

    目之所及 皆是回忆

    心之所想 皆是过往

    眼之所看 皆是遗憾

     

  • 相关阅读:
    bzoj1648
    bzoj3404
    bzoj1650
    bzoj1625
    bzoj1606
    bzoj1464
    bzoj1572
    bzoj1617
    bzoj1092
    bzoj1091
  • 原文地址:https://www.cnblogs.com/taojietaoge/p/13642917.html
Copyright © 2011-2022 走看看