package comm.buaa.zq;
import java.util.Scanner;
/*
@author zq
因式分解
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
*/
public class Test4 {
private static StringBuffer str = new StringBuffer();
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("输入一个正整数:");
int num = scan.nextInt();
System.out.print(num+"=");
print(num);
}
private static void print(int num) {
if(iszhishu(num)) {
str.append(num);
System.out.print(str);
}else {
for(int i=2;i<num;i++) {
if(iszhishu(i)) {
if(num%i==0) {
num /= i;
str.append(i+"*");
print(num);
break;
}
}
}
}
}
private static boolean iszhishu(int num) {
// TODO Auto-generated method stub
for(int i=2;i<=Math.sqrt(num);i++) {
if(num%i==0) {
return false;
}
}
return true;
}
}
将一个正整数分解质因数。
最新推荐文章于 2020-02-04 12:19:20 发布