java--编程(分解质因数)

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

package who;

import java.util.Scanner;

/**

  • 分解质因数
  • @author jition
  • /
    public class PrimeFactorDecompositon {
    public static void main(String[] args) {
    System.out.println("输入所求正整数:");
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
    int flag = 0;
    // 质因数最小为2
    int k = 2;
    System.out.print(n + "=");
    if (n < k) {
    System.out.println("请输入正整数大于2");
    }
    while (n >= k) {
    if (k == n) {
    System.out.print(k);
    break;
    } else if (n % k == 0) {
    System.out.print(k + "
    ");
    n = n / k;
    } else {
    k++;
    }

    }

    }

}

猜你喜欢

转载自blog.51cto.com/1929297/2459810