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++;
            }
            
        }
    
    }
    

      

    今日事,今日毕。
  • 相关阅读:
    IDEA service/DashBoard 不显示服务端口号
    是否同一棵二叉搜索树
    Tree Traversals Again
    有符号数移位
    tl431基准的用法
    7寸屏电压方案
    test
    合并commit
    重命名commit
    Git 在公司内部的使用规范
  • 原文地址:https://www.cnblogs.com/lcpp/p/13045640.html
Copyright © 2011-2022 走看看