-
반응형12345678910111213141516171819202122232425262728293031323334353637383940#include <stdio.h>#include <stdlib.h>void pick(int itemSize, int* bucket, int bucketSize, int k) { //중복 조합int i, lastIndex, smallest, item, total = 0;if (k == 0) {for (i = 0; i < bucketSize; i++) {if (bucket[i] == 0){printf("+ %d", i + 1);total += (i + 1);}else{printf("- %d", i + 1);total -= (i + 1);}}printf("= %d\n", total);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(2, bucket, num, num);}
cs 결과:
반응형'코딩 > C언어' 카테고리의 다른 글
학급임원 뽑기 (중복X) (0) 2019.09.17 회장, 부회장 뽑기 (0) 2019.09.17 돈 계산 (0) 2019.09.17 공뽑기 (0) 2019.09.17 4진수 (0) 2019.09.17