//将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
package com.imooc;
import java.util.Scanner;
public class Ques2 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Ques2 ques2 = new Ques2();
//循环输入要被分解的整数
do{
int num = input.nextInt();
System.out.print(num + "=");
int i=2;
int quotient=1;
//循环输出质因数
do{
if(ques2.primeNum(i)){
if(num % i == 0){
quotient = num/i;
System.out.print(i);
if(quotient == 1){
System.out.println();
break;
}else{
System.out.print("*");
num = quotient;
}
}else{
i++;
}
}else{
i++;
}
}while(true);
}while(true);
}
//判断一个整数是否为质数的方法:
//小于3的整数中只有2为质数。大于等于3的整数a,如果全部都不能被整除2到n-1之间的整数,则n为质数。
public static boolean ifPrNum(int n){
if(n<3){
if(n==2){
return true;
}else{
return false;
}
}else{
for(int i=2; i<n; i++){ //n依次除以2到n-1之间的数i
if(n % i ==0){ //是否n能被i整除
return false;
}
}
return true;
}
}
}
点击查看更多内容
1人点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦