방정식

시간 제한2초메모리 제한512 MB

요약
a 이상 b 이하인 양의 정수 n 가운데 각 자릿수의 제곱합에 k를 곱한 값이 n과 같은 것의 개수를 센다.
난이도

어려움10점 중 8점

유형
수학, 완전 탐색, 동적 계획법, 정수론
정답자
아직 제출이 없습니다

문제

자연수 nn에 대해 f(n)f(n)은 nn을 십진법으로 썼을 때 각 자리 숫자의 제곱의 합으로 정의한다. 세 자연수 k,a,bk, a, b가 주어진다. a≤n≤ba \le n \le b이면서 nn이 다음 방정식의 해가 되는 자연수 nn의 개수를 구하시오.

k⋅f(n)=nk \cdot f(n) = n

입력

첫째 줄이자 유일한 줄에 문제에 나온 세 정수 k,a,bk, a, b가 주어진다. (1≤k,a,b≤10181 \le k, a, b \le 10^{18}, a≤ba \le b)

출력

프로그램은 구간 [a,b][a, b]에서 방정식의 해의 개수를 나타내는 정수 하나를 출력해야 한다.

힌트

k=51k = 51일 때 구간 [5000,10000][5000, 10000]에서 방정식을 만족하는 자연수 nn은 7293, 7854, 7905뿐이다.

예제1

  1. 예제 1

    입력
    51 5000 10000
    
    예상 출력
    3