将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
程序分析
(1)n进行分解质因数,应先找到一个最小的质数k
(2)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(3)如果n不等于k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。
(4)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
代码:
import org.junit.Test;
public class DecomposePrime {
	/*
	 * 分解质因数的方法
	 */
	public String decomposePrime(int number) {
		StringBuffer tempStr = new StringBuffer();
		tempStr.append(number).append("=");
		for(int i = 2;i <= number;i++) {
			while(number % i == 0 && number != i) {
				number /= i;
				tempStr.append(i).append("*");
			}
			if(number == i) {
				tempStr.append(i);
			}
		}
		return tempStr.toString();
	}
	//测试方法
	@Test
	public void test() {
		System.out.println(decomposePrime(90));//--->90=2*3*3*5
		System.out.println(decomposePrime(50));//--->50=2*5*5
		System.out.println(decomposePrime(30));//--->30=2*3*5
	}
}



发布了72 篇原创文章 · 获赞 49 · 访问量 16万+
展开阅读全文

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

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览