Joonas' Note

Joonas' Note

문제적남자 73화: 수학 - 코딩으로 풀어보기 본문

알고리즘/문제 풀이

문제적남자 73화: 수학 - 코딩으로 풀어보기

2017. 10. 29. 15:42 joonas

    [이전 블로그로부터 글 옮김]


    문제적남자 73화 - 수학 풀이



    수능 D-100 특집으로 이런 문제가 나왔다.


    첫 번째 숫자까지는 1로 나누어지고,

    두 번째 숫자까지는 2로, .... 열 번째 숫자까지는 10으로 나누어진다.

    0부터 9까지 10개의 숫자를 모두 사용해 규칙에 맞는 수를 만들어라.


    다음과 같은 몇 가지 규칙을 발견하고 브루트 포스로 풀어보기로 했다.


    1. 열 번째 숫자는 0 이다. (10의 배수는 0으로 끝나기 때문)

    2. 다섯 번째 숫자는 5 이다. (5의 배수는 0, 5로 끝난다. 0은 열 번째 숫자이므로 5)

    3. 짝수 번째 숫자는 2, 4, 6, 8 중 하나이다.

    4. 홀수 번째 숫자는 1, 2, 3, 4, 6, 7, 8, 9 중 하나이다.


    소스: https://jsfiddle.net/J00nas/yrmen84L/


    javascript로 적어봤는데, 비동기식이라 그런지 제대로 걸러지지가 않는다. (그리고 브라우저의 자바스크립트 버전별로 다르게 보일 수 있다.) 그래도 답은 나온다.



    모던 브라우저에서는 위처럼 보일것이다.


    자바스크립트로는 코드가 정확하지 않은 것 같아서 C++로 다시 적었다.

    소스: https://ideone.com/yoLJXx


    신기하게도 규칙을 만족하는 숫자는 3816547290 뿐이었다.



    Comments