알고리즘 m개의 정수 갯수로 합이 n인 수 만들기 nocomet 2016. 9. 14. 00:29 #include<stdio.h> void print_all(int arr[], int len){ int i; for(i=0;i<len;i++){ printf("%d ",arr[i]); } puts(""); } void sum_print(int n, int m, int arr[], int len){ int i; if(m == len){ if( n == 0) print_all(arr, len); return ; } for(i = 1 ; i <= n ; i++){ arr[len] = i; sum_print(n-i,m,arr,len+1); } return ; } int m_sum(int n, int m){ int count =0, i; if(m == 1) return 1; if(n == m){ return 1; } for(i = n-1; i>=m ; i--){ count += m_sum(i,m-1); } return count+1; } void main(){ int arr[10]={0}; sum_print(5,3,arr,0); } 저작자표시 비영리 변경금지 (새창열림)