자릿수 합이 같은 등차수열의 항
시간 제한2초메모리 제한64 MB
n = 1, 2, 3, ...을 순서대로 보며 Cn + D를 B진법으로 쓴 자릿수의 합이 M번 나타나는 순간 멈추고, 그때까지의 n들을 출력한다.
문제
모든 자연수 에 대해 정의된 무한 등차수열 가 있다. 을 진법으로 적었을 때 자릿수의 합이 모두 같도록, 이하인 서로 다른 자연수 을 찾아라.
양의 정수 의 진법 표기는 하나뿐이다. 각 에 대해 이고 을 만족하는 자릿수 열 이 그것이며, 자릿수의 합은 이다.
조건을 만족하는 답은 보통 여러 가지다. 그중 하나를 다음 규칙으로 정한다. 자연수 에 대해 의 진법 자릿수 합을 이라고 하자. 순서로 을 계산하면서 각 값이 나온 횟수를 센다. 어떤 값의 횟수가 처음으로 이 되는 순간 멈추고, 그 값을 라고 하자. 그때까지 살펴본 가운데 인 것이 정확히 개이고, 이 개가 답이다.
입력
첫째 줄에 정수 , , , 이 공백으로 구분되어 주어진다. (, , )
이 부터 까지 가는 동안 어떤 자릿수 합의 횟수가 에 도달하도록 입력이 주어진다.
출력
첫째 줄에 위 규칙으로 정해진 개의 수를 증가하는 순서로 공백 하나씩으로 구분해 출력한다.
가 아니라 를 출력한다. 출력하는 수는 모두 이하다.
힌트
첫 번째 예제에서 이고 이다. 을 2진법으로 적으면 , 을 적으면 이라서 자릿수 합이 둘 다 이다. 값 의 횟수가 에서 처음으로 가 되고, 그보다 먼저 에 도달하는 값은 없다.
두 번째 예제에서 , , 이다. 셋 다 10진법 자릿수 합이 이고, 보다 먼저 횟수가 이 되는 값은 없다.