이 문제를 풀기 위해서는 제한적인 방법들을 두면서 문제를 푸는것이 맞을 것이다. 가령 왼쪽과 우측에 모두 맨앞의 숫자는 1이 들어올 수 없다. 또는 나누는 수들은 각 수들의 약수여야 한다. 뭐 이런식의 조건을 주면서 풀어야 한다. 처음엔 이 문제의 답이 단 하나만 있는 줄 알고 문제의 답을 찾기 위해 조여갔다. 어 근데 한개가 아니다.
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/016.gif)
오기가 생겼다. 얼마나 있을까.. 이걸 모두 찾으려면 1부터 9까지 모든 조합수를 구해서 조합된 수들을 왼쪽합과 오른쪽합을 비교하면서 조건에 해당되는 숫자들만 도출하면 된다는 생각에 이르렀다.
자 그럼 모든 조합의 경우의 수는 어떻게 구할까?
https://1stminokingdom.tistory.com/20
[VBA_재귀함수] 모든 경우의 수 순열구하기
VBA를 배우는 것중 또 하나는 알고리즘을 하나둘씩 배워가는 즐거움이 있다. 최근에 가장 좋아하는 알고리즘으로는 재귀문인데 문제를 접할 때마다 풀기 싫지만 풀면 뿌듯한 뭐 이런 이상한 기
1stminokingdom.tistory.com
우리는 이전에 모든경우의 수의 순열을 구하는 문제를 다뤄본적이 있다.
그 구문에 왼쪽과 오른쪽의 합이 일치하는 구문만 더 적어넣으면 되는것이다.
뭔가 코드가 길어서 복잡해보이지만 원리는 모든 경우의 수를 구하고 거기서 다시 조건에 맞는 수를 구하는 구문이다.
![](https://t1.daumcdn.net/keditor/emoticon/friends1/large/009.gif)
재귀관련된 문제는 해도 해도 늘 재미지다...ㅋㅋ
'VBA' 카테고리의 다른 글
[VBA-재귀함수] 목표값찾기 (1) | 2021.08.23 |
---|---|
[VBA_재귀함수] 1-9까지의 수를 넣어 다음식을 완성하라 (0) | 2021.08.22 |
[VBA_Multi For each] 행과 열을 반복하여 X묶음을 찾아라 (0) | 2021.08.18 |
[VBA_ArrayList] ArrayList를 통한 중복값 제거 후 정렬하기 (0) | 2021.08.18 |
[VBA_재귀함수] 모든 경우의 수 순열구하기 (0) | 2021.08.17 |
댓글