您的位置:首页 > 其它

【程序4】题目: 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

2017-03-13 21:07 441 查看
/*
2017年3月2日11:14:44
java基础50道经典练习题 例4
Author:ZJY(&&)
Purpose:分解正整数的质因数
如果正整数M能被N整除,则称M是N的因数,如果M是质数,则称M是N的质因数。
如,4和3都能被12整除,所以4和3都是12的的因数,而3是质数,所以3是12的质因数。
【程序4】
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
*/
import java.util.Scanner;

public class ProgramNo4_1
{
public static void main(String[] args)
{
System.out.printf("请输入你要分解的整正数: ");
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
decompose(number);
}
private static void decompose(int n)
{
System.out.printf("%d 质因数为 = ", n);
for (int i=2; i<n+1; i++) {
while ((0 == n%i)&&(i != n)) { //重点
n /= i;
System.out.print(i + "*");
}
if(i == n) {
System.out.print(i);
break;
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐