i 绝望

依然

Miss Lang

java代码分解质因数

总结:

循环。。。首位

逻辑要清晰

很简单。首先质因数最小的2。因为1不是质数

然后当输入的数刚好为2时,结束。不用下一步了。否则在循环里不停的输出一个数,

当输入的数比2大时,分能被2整除和不能被2整除的情况,若是前者则输出质因数,然后把每一次的商作(a=a/k)为a,下一次判断是否能被k整除,。不能,那就要k++.总要输出它的质因数为止,

package com.aini;

import java.util.Scanner;

//求从键盘输入数,分解质因数,输出结果显示:如  135=3*3*3*5;
//当a能被k(质因数)整除时,输出k,当k不能被a整除时,继续循环k++.直到k值能被a整除,而且此时k==a。就停止了。break;
public class gre {
	public static void main(String[] args) {
		Scanner c = new Scanner(System.in);
		System.out.print("请输入-----");
		int a = c.nextInt();
		// System.out.println(a+"=");
		int k = 2;
		 System.out.print(a+"=");
		while (k <= a) {
			if (k == a) {
				System.out.println("" + a);
				break;
				// 如果这里不用break;则出现一个质因数循环到永远。。因为它在if循环里面。一直输出最后的一个质因数。
			}// 这是一个完整的if循环判断
			else if (a % k == 0) {
				System.out.print(k + "*");
				a = a / k;// 此时的a值作为下一次的a,之后分解
			} else {
				k++;

			}
		}

	}
}
//
请输入-----135
135=3*3*3*5

  

posted on 2013-11-07 00:47  juewang  阅读(2002)  评论(0编辑  收藏  举报

绝望依然

Miss Lang