-
반응형12345678910111213141516171819202122232425262728293031#include <stdio.h>#include <stdlib.h>void pick(int itemSize, int* bucket, int bucketSize, int k) { //중복 조합int i, lastIndex, smallest, item;if (k == 0) {for (i = 0; i < bucketSize; i++) {printf("%d ", bucket[i]);}printf("\n");return;}lastIndex = bucketSize - k - 1; // 가장 최근에 뽑힌 수가 저장된 위치 indexsmallest = 0; // 조합for (item = smallest; item < itemSize; item++) {bucket[lastIndex + 1] = item;pick(itemSize, bucket, bucketSize, k - 1);}}int main(void){int * bucket, num;scanf("%d", &num);bucket = (int *)malloc(sizeof(int) * num);pick(4, bucket, num, num);}
cs 결과:
반응형