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

来源:互联网 发布:外盘期货交易软件 编辑:程序博客网 时间:2024/05/14 17:47
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;    }}
0 0
原创粉丝点击