为什么这段代码运行不出结果呢,哪里有问题
package NOJ;
import java.util.Scanner;
public class Test2052 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long l = 1, r = Long.MAX_VALUE - 5;
long k = sc.nextLong();
while (l < r) {
long mid = l + r + 1 >> 1;
if (check(mid) >= k)
r = mid;
else
l = mid + 1;
}
if (check(l) == k)
System.out.println(l);
else
System.out.println(-1);
}
private static long check(long num) {
long res = 0;
while (num > 0) {
res += num / 5;
num /= 5;
}
return res;
}
}