质因数的分解

来源:互联网 发布:php如何绑定域名 编辑:程序博客网 时间:2024/06/04 23:55
package day07;import java.util.Scanner;/* * 题目:将一个正数分解质因数。例如,输入90,打印出90=2*3*3*5. *  * 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: *  (1)如果这个质数恰好等于n,则说明分解质因数的过程已经结束,打印出即可。 *  (2)如果n<>k,但n能被整除,则应打印出k的值,并用n除以k的商,作为鑫的正整数n,重复执行 *      第一步。 *  (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 */public class ZhiShuFenJieDemo {    public static void main(String[] args) {        //键盘录入        Scanner sc = new Scanner(System.in);        System.out.println("请输入您要分解的质数:");        int x = sc.nextInt();        if(x<2) {            //判断输入的参数是否满足要求            System.out.println("您输入的数字有误,请重新输入!");        }else {            //调用函数            FenJie(x);        }    }    //构造分解因数函数    //构造函数的两个要素:1)参数类型    (2)返回值类型    private static void FenJie(int n) {        for(int i=2; i<n+1; i++) {            while(n%i==0 && n != i) {                n /=i;                System.out.print(i+"*");            }            if(n == i) {                System.out.println(i);                break;            }        }    }}

运行结果:
请输入您要分解的质数:36
2*2*3*3
请输入您要分解的质数:78
2*3*13

原创粉丝点击