zoukankan      html  css  js  c++  java
  • Java基础50道经典练习题(4)——分解质数因数

    【程序 4 分解质因数】
    题目:将一个大于 2 正整数分解质因数。例如:输入 3, 3=3, 输入 6, 6=2*3,输入 90, 90=2*3*3*5。
    程序分析:对 n 进行分解质因数,应先找到一个最小的质数 k,然后按下述步骤完成:
    (1)如果这个质数恰等于 n,则说明分解质因数的过程已经结束,打印出即可。
    (2)如果 n<>k,但 n 能被 k 整除,则应打印出 k 的值,并用 n 除以 k 的商,作为新的正整数 n,重复执行第
    一步。
    (3)如果 n 不能被 k 整除,则用 k+1 作为 k 的值,重复执行第一步。
     
    源码:
    package com.homework.test;
    import java.util.*;
    /*
    题目:将一个大于 2 正整数分解质因数。例如:输入 3, 3=3, 输入 6, 6=2*3,输入 90, 90=2*3*3*5。
    
    程序分析:对 n 进行分解质因数,应先找到一个最小的质数 k,然后按下述步骤完成:
    (1)如果这个质数k恰等于 n,则说明分解质因数的过程已经结束,打印出即可。
    (2)如果 n<>k,但 n 能被 k 整除,则应打印出 k 的值,并用 n 除以 k 的商,作为新的正整数 n,重复执行第
    一步。
    (3)如果 n 不能被 k 整除,则用 k+1 作为 k 的值,重复执行第一步。
    
     */
    public class dividePrime {
        public static void main(String [] args){
            Scanner s = new Scanner(System.in);
            System.out.println("Please input a number:");
            int n = s.nextInt();
            s.close();
            int k =2;//最小的质数
            System.out.print(n+"=");
            while(n>=k)
            {
                if(n==k)
                {
                    System.out.print(n);
                    break;
                }
                else if(n!=k && n%k==0)
                {
                    System.out.print(k+"*");
                    n=n/k;
                }
                else
                    k++;
            }
            
        }
    
    }
    

      

    今日事,今日毕。
  • 相关阅读:
    B
    A
    P1057 传球游戏
    P1702 突击考试
    P1394 山上的国度
    P2117 小Z的矩阵
    P1510 精卫填海
    P1294 高手去散步
    P1071 潜伏者
    保留
  • 原文地址:https://www.cnblogs.com/lcpp/p/13045640.html
Copyright © 2011-2022 走看看