读书人

n=n;n=(n-1)+1;n=.该如何解决

发布时间: 2012-03-25 20:55:16 作者: rapoo

n=n;n=(n-1)+1;n=...
问题大概如下:
编写一个函数,函数接受一个整数,求出该数的所有组合情况,以如下规律输出:
若参数为4,输出:
4=4
4=3+1
4=2+2
4=2+1+1
4=1+1+1+1
若为10,则
10=10
10=9+1
10=8+2
10=8+1+1
......
-----------------------
谁能想到漂亮的答案?

[解决办法]

C/C++ code
#include <stdio.h> int a[100]={0}; void shuchu(int m) {     int i;     for(i = 0;i <= m-1; i++)         printf("%d ",a[i]);     printf("\n"); } void fenjie(int n,int m) {     int i;     if(n == 0)                    /*这是递归的边界条件*/        shuchu(m);     else         for(i = n; i >= 1; i--)             if((m == 0) || (i <= a[m-1]))             {                a[m] = i;                fenjie(n-i,m+1);            } } void main(void) {     int n,m=0;     printf("please input a number(0<n<100): ");     scanf("%d",&n);     fenjie(n,m); }
[解决办法]
这个正好用上了 感谢
[解决办法]
那个是我们上学期的实验题目~~~
[解决办法]
楼主的程序我简单的看了,很给力

读书人网 >C语言

热点推荐