만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

제곱과 세제곱

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

요약
a ≤ x² ≤ b, a ≤ y³ ≤ b, |x² - y³| ≤ k를 만족하는 자연수 쌍 (x, y)의 개수를 a, b, k가 10^18까지 커도 구한다.
난이도

어려움10점 중 8점

유형
수학, 정수론, 이분 탐색, 완전 탐색
정답자
아직 제출이 없습니다

문제

어느 대학의 정수론 연구실에서는 자연수의 제곱과 세제곱의 분포 사이의 관계를 연구한다.

음이 아닌 정수 kk가 주어졌다고 하자. aa부터 bb까지의 자연수 전체, 양 끝을 포함하는 집합을 생각하자. 이 집합의 k-밀도를 다음과 같이 정의한다. 자연수 xx와 yy의 쌍 중에서 a≤x2≤ba \le x^2 \le b, a≤y3≤ba \le y^3 \le b이고 ∣x2−y3∣≤k|x^2 - y^3| \le k인 쌍의 개수이다.

예를 들어 1부터 30까지의 자연수 집합의 2-밀도는 3이다. 다음 쌍들이 조건을 만족하기 때문이다.

  • x=1x = 1, y=1y = 1, ∣x2−y3∣=∣1−1∣=0|x^2 - y^3| = |1 - 1| = 0;
  • x=3x = 3, y=2y = 2, ∣x2−y3∣=∣9−8∣=1|x^2 - y^3| = |9 - 8| = 1;
  • x=5x = 5, y=3y = 3, ∣x2−y3∣=∣25−27∣=2|x^2 - y^3| = |25 - 27| = 2.

자연수 aa와 bb, 음이 아닌 정수 kk가 주어질 때 aa부터 bb까지의 자연수 전체, 양 끝을 포함하는 집합의 k-밀도를 구하는 프로그램을 작성하라.

입력

입력은 세 줄로 이루어진다. 첫째 줄에는 자연수 aa, 둘째 줄에는 자연수 bb, 셋째 줄에는 음이 아닌 정수 kk가 주어진다 (1≤a≤b≤10181 \le a \le b \le 10^{18}, 0≤k≤10180 \le k \le 10^{18}).

출력

첫째 줄에 aa부터 bb까지의 자연수 전체, 양 끝을 포함하는 집합의 k-밀도를 나타내는 정수 하나를 출력한다.

예제1

  1. 예제 1

    입력
    1
    30
    2
    
    예상 출력
    3