관리 메뉴

드럼치는 프로그래머

[C] 개미수열 알고리즘 본문

★─Programing/☆─C | C++

[C] 개미수열 알고리즘

드럼치는한동이 2007. 7. 12. 04:59

우리가 풀어야할 문제는 베르나르 베르베르의 소설 "개미" 에 나오는
개미수열이다. 이 수열은 다음과 같다.

        1
        1 1
        1 2
        1 1 2 1
        1 2 2 1 1 1
        1 1 2 2 1 3
        1 2 2 2 1 1 3 1
        1 1 2 3 1 2 3 1 1 1
        1 2 2 1 3 1 1 1 2 1 3 1 1 3
        1 1 2 2 1 1 3 1 1 3 2 1 1 1 3 1 1 2 3 1
        . . . . . . . . . . . . . . . . . . . .
        이와 같이 계속해서 무한대로 나간다.

첫째줄의   1 로 부터 둘째줄의 1 1 이 나오고
둘째줄의 1 1 로 부터 세째줄의 1 2 가 나온다.
마찬가지로 세째줄로 부터 네째줄이 나오고, 이렇게 계속되는 것이다.
개미수열을 잘모르는 사람은 위의 예로 부터 다음 수열이 어떻게 나오는지
알아 내도록 하자. 개미수열의 규칙을 알아내는 것은 재미 있는 퍼즐이다.

--------------------------------------------------

일차원 배열 2개를 사용하여 개미수열을 구하는 프로그램을
작성하라 입력받은 n만큼의 줄수를 출력하도록 프로그램을
작성하면 된다.

개미수열 프로그램을 작성할 때 주된 제어구조로
while문을 사용하도록 하고, break문은 사용하지 않도록 하자.

배열에 대한 어느정도 개념이 잡혀있으면, 쉽게 풀 수 있는 개미수열 알고리즘 입니다.

몇가지 힌트를 드린다면야,(이걸 안보시고 하는게 더 도움이 되지만요^^)


배열 2개를 사용해도 되고, 2차원 배열을 사용해도 됩니다.

숫자단위 하나하나로 보면, 쉽게 파악할 수 있겠죠?

하나는 숫자, 그리고 또하나는 숫자의 갯수.. 를 뜻합니다.


자신이 짜기 전에 답을 보지 않아야 합니다.

제꺼는 허접함 그 자체지만, 자신이 짜기 전에 본다면 자기자신이 허접한 사람이 되는 걸

잊지 마세요.^^



...peace


Comments