【Java】分解质因数 解析与实现

来源:互联网 发布:淘宝水印logo在线制作 编辑:程序博客网 时间:2024/06/06 02:52

解析

对 n 进行分解质因数,应先找到一个最小的质数 k,然后按下述步骤完成:
(1) 如果这个质数恰等于 n,则说明分解质因数的过程已经结束,打印出即可。
(2) 如果 n>k,但 n 能被 k 整除,则应打印出 k 的值,并用 n 除以 k 的商, 作为新的正整数你 n, 重复执
行第一步。
(3) 如果 n 不能被 k 整除,则用 k+1 作为 k 的值, 重复执行第一步。

实现Demo

package com.practice;import java.util.Scanner;public class zhiyinshu {    static int k = 2,n;    public void f(int num)    {       while(k <= num)     {      if(k == num)      {       System.out.print(" "+num);       break;      }      if(num % k ==0)      {       num = num / k;       System.out.print(" " + k);       f(num);       break;      }      else      {       ++k;                f(num);                break;      }     }    } public static void main(String[] args) {  Scanner s = new Scanner(System. in);  n = s.nextInt();  System. out.print(n + "=");  zhiyinshu fpf = new zhiyinshu();  fpf.f(n); }}
0 0
原创粉丝点击