Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- long countZeroes(long n){
- long c = 0;
- while(n){
- n/=5;
- c+=n;
- }
- return c;
- }
- long trailing_zeros(long n){
- long i = 0, j = 9223372036854775807;
- // cout << j << endl;
- while(i < j){
- long mid = i + (j - i)/2;
- if(countZeroes(mid) < n){
- i = mid + 1;
- }
- else{
- j = mid;
- }
- }
- long ans = j;
- i = 0;
- j = 9223372036854775807;
- long result;
- while( i < j ) {
- long mid = i + (j-i)/2;
- if(countZeroes(mid) > n){
- j = mid;
- }
- else{
- i = mid + 1;
- }
- }
- return i-ans;
- }
- int main() {
- int Q;
- cin >> Q;
- while(Q--){
- long n ;
- cin >> n;
- cout << trailing_zeros(n) << endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment