- 245 名前:デフォルトの名無しさん mailto:sage [2008/10/13(月) 01:18:06 ]
- >>244
#include<stdio.h> #define N_MAX 100 int g_result[N_MAX]; void bar(int result_num, int n){ int i; if(n<=0){ for(i=0;i<result_num;i++) printf(" %d", g_result[i]); printf("\n"); return; } for(i=1;i<=n;i++){ g_result[result_num]=i; bar(result_num+1, n-i); } } void foo(int n){ int i; if(n>N_MAX) return; for(i=1;i<=n-1;i++){ g_result[0]=i; bar(1, n-i); } } int main(void){ int n=4; printf("n = %d\n", n); foo(n); return 0; }
|

|