标签:整数的素因子分解
题目:通过键盘输入一个整数,并将其用素因子乘积的形式输出,例如输入整数15,则输出“15=3*5”.
import java.util.Scanner;
public class Exercise{
public static void main(String [] args){
Scanner sc=new Scanner(System.in);
System.out.print("请输入您的整数:");
int num=sc.nextInt();
int i;
int j;
int k;
//先判断输入的整数是否为素数
for(i=2;i*i<=num;i++){
if(num%i!=0);
else break;
}
if(i*i>num){
System.out.print(num+"是一个素数!"); //num是素数,则直接输出
}
//若num不是素数,则进行因式分解
else{
System.out.print(num+"= ");
for(j=2;j*j<=num;j++){ //对num的所有可能的因数的遍历
for(k=1;k<60;k++){ //对num的因数j出现的次数的遍历
if(num%j==0){
System.out.print(j+" * ");
num/=j;
//判断新的num是否为素数
int m;
for(m=2;m*m<=num;m++){
if(num%m!=0);
else break;
}
if(m*m>num){
System.out.print(num);
return;
}
}
}
}
}
}
}本文出自 “11085209” 博客,请务必保留此出处http://11095209.blog.51cto.com/11085209/1735466
标签:整数的素因子分解
原文地址:http://11095209.blog.51cto.com/11085209/1735466