E가 없는 수

시간 제한1초메모리 제한128 MB

요약
영어로 읽었을 때 철자에 E가 들어가지 않는 양의 정수 중 n번째 수를 구해 쉼표를 넣어 출력한다.
난이도

보통10점 중 7점

유형
수학, 조합론, 구현
정답자
아직 제출이 없습니다

문제

영어에서 알파벳 “E”가 가장 자주 쓰이는 글자라는 것은 잘 알려져 있다. 정수를 영어 단어로 적었을 때, 어떤 수가 글자 “E”를 사용하지 ‘않는지’ 살펴보는 것은 흥미롭다. 예를 들어 6030(six thousand thirty)에는 “E”가 없고, 4002064(four million two thousand sixty-four)에도 없다.

6030은 철자에 “E”가 없는 64번째 양의 정수이고, 4002064는 그러한 838번째 수이다. 당신의 임무는 그러한 nn번째 수를 찾는 것이다.

큰 수의 철자 참고: 1,001,001,001,001,001,001,001,001,000은 “one octillion, one septillion, one sextillion, one quintillion, one quadrillion, one trillion, one billion, one million, one thousand”이라고 읽는다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스는 한 줄에 양의 정수 nn (n<231n < 2^{31}) 하나로 주어진다. 00이 적힌 줄은 입력의 끝을 의미한다. (입력에는 쉼표가 없다.)

출력

각 nn에 대해, 철자에 “E”가 없는 nn번째 양의 정수를 천 단위마다 쉼표를 넣어 출력한다. 모든 답은 102810^{28}보다 작다고 가정해도 된다.

예제1

  1. 예제 1

    입력
    1
    10
    838
    0
    
    예상 출력
    2
    44
    4,002,064