您的位置:首页 > 编程语言 > Java开发

整数因子的分解问题--java

2013-11-15 20:07 330 查看
问题描述:

大于1的正整数n可以分解为n=x1*x2*…*xn。例如,当n=12时,共有以下8种分解方法:

12=12

12=6*2

12=4*3

12=3*4

12=3*2*2

12=2*6

12=2*3*2

12=2*2*3

编程任务:

给定正整数n,试计算n有多少种不同的分解模式。

代码演示:

import java.util.Scanner;

/**

* 整数因子分解

* @author Administrator

*

*/

public class IntegerDivide {

int n;

static int q=0;

String content;

public IntegerDivide(int n){

this.n=n;

this.divide(n);

}

/**

* 整数分割函数

* @param n

*/

void divide(int n){

if(n==1){

q++;

}else{

for(int i=2;i<=n;i++){

if(n%i==0){

divide(n/i);

}

}

}

}

public static void main(String[] args) {

System.out.println("请输入一个数:");

Scanner sc=new Scanner(System.in);

int num=sc.nextInt();

IntegerDivide id=new IntegerDivide(num);

System.out.println(id.q);

}

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