二分法
1.定义left为0,right为Long.MAX_VALUE。之后再进行while循环来进行查找精准。之后在调用方法来计算二分查找的值中有几个5的倍数的个数。如果这个值中5的倍数的个数不等于条件就返回-1
符合条件就返回这个二分查找的数。
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);long a = scanner.nextLong();long left=0; long right=Long.MAX_VALUE; while(left<=right){long mid=(left+right)/2;if(a>jiecheng(mid)){left=mid+1;}else{right=mid-1;}}if(jiecheng(left)!=a){System.out.println(-1);}else{System.out.println(left);}}public static long jiecheng(long i){long zhi=0;while(i>0){zhi=zhi+i/5;i/=5;}return zhi;}
}