您的位置:首页 > 其它

将一个正整数分解质因数。

2016-05-09 21:33 225 查看
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;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: