版权声明:本文为博主原创文章,未经博主允许不得转载。
/* (程序头部注释开始)
版权声明:保留个人权利。 如程序有不当之处,敬请指正。
* 文件名称: 《一些简单的java编程题(4) ————正整数分解质因数》
* 作 者: 那就去巴黎
* 完成日期: 2018 年 01 月 31 日
* 版 本 号: JDK 9.0.1
问题描述:
将一个正整数分解质因数。例如:输入100,打印出100=2*2*5*5。
题目分析:
对正整数n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n>k,且n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
* (程序头部的注释结束)
*/
package questions;
import java.util.Scanner; //导入java.util包中的Scanner这个工具类
public class Q4
{
public static void main(String[] args)
{
System.out.println("开始分解质因数。");
System.out.print("请输入正整数n:");
Scanner input= new Scanner(System.in);
int n=input.nextInt();
resolve(n);
input.close(); // 关闭配置内存
}
private static void resolve(int n)
{
System.out.println("分解结果为:");
System.out.print(n+"=");
for(int i=2;i<n+1;i++)
{
while(n%i==0 && n!=i)
{
n/=i;
System.out.print(i+"*");
}
if(n==i)
{
System.out.print(i);
break;
}
}
}
}
程序运行结果如下: