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

      

    今日事,今日毕。
  • 相关阅读:
    Css Hack
    flex 兼容 ie9
    js 阻止父级元素的事件向子级元素传递
    php正则表达式的匹配与替换
    php的匿名类的使用
    解决php的单继承问题,实现php的多继承,trait的使用
    php的抽象类和接口的总结和区别
    eclipse的maven项目Java Resources有红叉问题
    IntelliJ全家桶IDEA Webstorm 2020 永久破解方法(说是可以任何版本)
    电脑能ping 通 ip,但是不能ping通 域名
  • 原文地址:https://www.cnblogs.com/lcpp/p/13045640.html
Copyright © 2020-2023  润新知