蓝桥杯 算法提高 8-1因式分解(Java解题)

问题描述
  设计算法,用户输入合数,程序输出若个素数的乘积。例如,输入6,输出2*3。输入20,输出2*2*5。
样例
  与上面的样例输入对应的输出。
  例:

数据规模和约定
  输入数据中每一个数在int表示范围内。

代码:

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		int n = s.nextInt();
		int x = 1;
		int t = 1;
		while (n != 1) {
			x++;// 从2开始判断能否被n整除
			while (n % x == 0) {
				n = n / x;
				if (t == 1) {
					System.out.print(x);//输出可以被n整除的第一个数
					t = 0;
				} else
					System.out.print("*" + x);
			}
		}
	}
}


阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页