将一个整数划分为非负整数的部分
摘要:
比如,4=1+1+1+1=1+1+2=1+2+1=1+3=2+1+1=2+2=3+1=4总共有8种方法,一般的,证书n有2n-1种划分方法,可以设计一种方法,按照字典序将所有的划分方法都输出来。其中的思路为,给定一个n,使用一个长度为n的数组,初始化每个元素为1,每次将低位的元素分出一个元素出来,加到相邻的高位上面。 1 void part(int n, int* as, void (*fn)(int,int*)) 2 { 3 int j; 4 int i; 5 for(j=0;j<n;j++) 6 as[j]=1... 阅读全文
posted @ 2012-10-29 20:22 mathlover 阅读(232) 评论(0) 推荐(0) 编辑