#include <stdio.h> double re(int i,int n) { if(n>0){ re(i/6,n-1); printf("%d ", (i%6)+1); } else printf("\n"); } int main(void) { int a[10]; int i; int n=3; int m=11; int g; int k[10]; int result=0; int limit=1; int z; int sum=0; for(g=0;g<n;g++) limit=limit*6; for(i=0; i<limit; i++){ z=i; for(g=0;g<n;g++){ a[g]=z%6; z=z/6; //6진수 변화(역순정렬) } //출력 sum=0; for(g=n-1;g>=0;g--) sum = sum+(a[g]+1); if(sum==m) { printf("\n"); for(g=n-1;g>=0;g--) printf("%d ", a[g]+1); } //re(i,n); //printf("\n"); } return 0; }