본문 바로가기
VBA

[VBA_재귀함수] 문제적 남자 문제 풀이

by 일등미노왕국 2021. 8. 22.

출처 : https://ulsanmouse.tistory.com/1619

이 문제를 풀기 위해서는 제한적인 방법들을 두면서 문제를 푸는것이 맞을 것이다. 가령 왼쪽과 우측에 모두 맨앞의 숫자는 1이 들어올 수 없다. 또는 나누는 수들은 각 수들의 약수여야 한다. 뭐 이런식의 조건을 주면서 풀어야 한다. 처음엔 이 문제의 답이 단 하나만 있는 줄 알고 문제의 답을 찾기 위해 조여갔다. 어 근데 한개가 아니다.

오기가 생겼다. 얼마나 있을까.. 이걸 모두 찾으려면 1부터 9까지 모든 조합수를 구해서 조합된 수들을 왼쪽합과 오른쪽합을 비교하면서 조건에 해당되는 숫자들만 도출하면 된다는 생각에 이르렀다.

자 그럼 모든 조합의 경우의 수는 어떻게 구할까?

https://1stminokingdom.tistory.com/20

 

[VBA_재귀함수] 모든 경우의 수 순열구하기

VBA를 배우는 것중 또 하나는 알고리즘을 하나둘씩 배워가는 즐거움이 있다. 최근에 가장 좋아하는 알고리즘으로는 재귀문인데 문제를 접할 때마다 풀기 싫지만 풀면 뿌듯한 뭐 이런 이상한 기

1stminokingdom.tistory.com

우리는 이전에 모든경우의 수의 순열을 구하는 문제를 다뤄본적이 있다. 

그 구문에 왼쪽과 오른쪽의 합이 일치하는 구문만 더 적어넣으면 되는것이다.

뭔가 코드가 길어서 복잡해보이지만 원리는 모든 경우의 수를 구하고 거기서 다시 조건에 맞는 수를 구하는 구문이다.

재귀관련된 문제는 해도 해도 늘 재미지다...ㅋㅋ

재귀구문을 통한 로직풀기(21.08.22).xlsm
0.03MB

댓글