Light oj1138 - Trailing Zeroes (III)

来源:互联网 发布:尼尔森数据分析 编辑:程序博客网 时间:2024/05/29 08:06
1138 - Trailing Zeroes (III)
   PDF (English)StatisticsForum
Time Limit: 2 second(s)Memory Limit: 32 MB

You task is to find minimal natural number N, so that N! contains exactly Q zeroes on the trail in decimal notation. As you know N! = 1*2*...*N. For example, 5! = 120, 120 contains one zero on the trail.

Input

Input starts with an integer T (≤ 10000), denoting the number of test cases.

Each case contains an integer Q (1 ≤ Q ≤ 108) in a line.

Output

For each case, print the case number and N. If no solution is found then print 'impossible'.

Sample Input

Output for Sample Input

3

1

2

5

Case 1: 5

Case 2: 10

Case 3: impossible

 


PROBLEM SETTER: JANE ALAM JAN
#include<stdio.h>long long sum(long long n)    N的阶乘后面连续0的个数{long long ans=0;while(n){ans+=n/5;n/=5;}return ans;}int main(){int t,k=1;long long q;scanf("%d",&t);while(t--){long long ans=0;scanf("%lld",&q);long long left=1,right=1000000000000;while(left<=right){long long mid=(left+right)>>1;  右移一位,即除于2if(sum(mid)==q){ans=mid;right=mid-1;}else if(sum(mid)>q)right=mid-1;elseleft=mid+1;}printf("Case %d: ",k++);if(ans)printf("%lld\n",ans);elseprintf("impossible\n");}return 0;}



0 0
原创粉丝点击