【分析解答题】
【说明】 计算n的合数。一个整数n可以有多种划分,使其划分的一列整数之和为n。例如,整数5的划分为: 5 4 1 3 2 3 1 1 2 2 1 2 1 1 1 1 1 1 1 1 共有7种划分。这种划分的程序如下所示。 【程序】 #include <stdio.h> int n[1000],m,k;void output sum() { int j; for(j=0;n[j]!=0;j++) printf("%d\t",n[j]); printf("\n"); } void sum(int i)if(m-n[i]<n[i]){ m=m-n[i]; {{U}} (1) {{/U}} i++;n[i+1]=0;}else{ {{U}} (2) {{/U}} m-=n[i]; i++;}if(m!=n[i]) sum(i);else output_sum();if(n[i]>1){ n[i]--; {{U}} (3) {{/U}}}else{ while((n[i]==1)&&(i>O)) { i--; {{U}} (4) {{/U}} } if(i!=0) { {{U}} (5) {{/U}} sum(i); } } } void main() { int i; scanf("%d",&n[0]);m=k=n[0]; for(i=1;i<=k;i++)n[i]=0; while(n[0]!=1) {n[0]--;i=0;sum(0);m=k;}}
查看答案解析
参考答案:
正在加载...
答案解析
正在加载...
根据网考网移动考试中心的统计,该试题:
0%的考友选择了A选项
0%的考友选择了B选项
0%的考友选择了C选项
0%的考友选择了D选项