JAVA编程!!急急急!!!再插三根鸡毛!!!!·

来源:百度知道 编辑:UC知道 时间:2024/05/18 17:07:47
整数划分问题:写出将一个正整数年n表示成一系列正整数之和的JAVA程序。

求求大家了 我实在是不会了~~!!
拜托拜托~!!!!!
整数划分问题:写出将一个正整数n表示成一系列正整数之和的JAVA程序。

比如6 划分为六个一相加,或者三个2相加,或者1+2+3
就是这样了

呵呵

试试这个程序.大概思路是这样的.细节可能有错.我还没运行过.自己改一下吧
import java.util.*;
public class lin
{
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);

System.out.print("input the year:");
int n=in.nextInt();

int[] factor=new int[100];
int[] exps=new int[100];

for(int i=0,work=n;(work&0X01UL)==0&&work>1;work>>=1,i++)
;
save_factor(2,i);
for(int k=3;k<=work;k+=2)
{for(i=0;work%k==0&&work>1;work/k,i++)
save_factor(k,i);
}

public static void save_factor(fact,exp)
{
int i;
if(exp>0)
factor[count]=fact, exps[count++]=i;
}

for(i=0;i<count;i++)
{
S+=factors[i]*exps[i];
}

System.out.println("");
System.out.print("result"+S);

}

可以这么来理解:
如果给定一