poj 1032 java版本

来源:互联网 发布:孤岛惊魂3低配优化 编辑:程序博客网 时间:2022/01/24 06:12

import java.util.Scanner;public class Main {public static void main(String[] args){int n;Scanner cin = new Scanner(System.in);while(cin.hasNext()){n = cin.nextInt();int count = 0;int sum = 0;for(int i=2; ;i++){sum+=i;if(sum>n){sum-=i;break;}count++;}int[] a = new int[count];int t =0;for(int i=2; ;i++){a[i-2] = i;t++;if(t==count)break;}int f = n - sum;t = count-1;while(f>0){a[t%count]++;f--;t--;if(t<0)t+=count;}for(int i=0; i<a.length; i++){if(i==a.length-1){System.out.println(a[i]);}else{System.out.print(a[i]+" ");}}}}}

数论里很好的一个题目。感觉数学真的很有意思啊!

题目大意:给定一个整数数m.将其拆成几个不同的正整数m1,m2,m3.......,这些正数的和等于这个数m = m1+m2+m3+....,使得这些整数的积最大max(m1*m2*m3*.