2016-08-23 19:18 阅读 175 评论 0 推荐 0

LightOJ 1138 - Trailing Zeroes (III)【二分】

 

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


 

 

今天脑残了。。。。。。

复制代码
copy
#include <map>
#include <set>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <queue>
#include <iostream>
#include <stack>
#include <cmath>
#include <vector>
#include <cstdlib>
//#include <bits/stdc++.h>
#define space " "
using namespace std;
typedef long long LL;
//typedef __int64 Int;
typedef pair<int,int> paii;
const int INF = 0x3f3f3f3f;
const double ESP = 1e-5;
const double Pi = acos(-1);
const int MOD = 1e9+5;
const int MAXN = 1e5;
bool flag ;
bool judge(int x, int y) {
    int f = 5;
    int sum = 0;
    while (f <= x) {
        sum = sum + x/f;
        f = f*5;
    }
    if (sum == y) flag = true;
    return sum >= y;
}
int main() {
    int t, n;
    int cnt = 0;
    scanf("%d", &t);
    while (t--) {
        scanf("%d", &n);
        int ans; flag = false;
        int lb = 0, ub = 1e9;
        while (ub >= lb) {
            int mid = (ub + lb) >> 1;
            if (judge(mid, n)) {
                ans = mid; ub = mid - 1;
            }
            else lb = mid + 1;
        }
        if (flag) printf("Case %d: %d\n", ++cnt, ans);
        else printf("Case %d: impossible\n", ++cnt);
    }
    return 0;
}
复制代码

 

copy


 

本文作者: zprhhs

本文链接:https://www.cnblogs.com/cniwoq/p/6770804.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   zprhhs  阅读(175)  评论(0编辑  收藏  举报
编辑推荐:
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
阅读排行:
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 《HelloGitHub》第 106 期
· 数据库服务器 SQL Server 版本升级公告
· 深入理解Mybatis分库分表执行原理
· 使用 Dify + LLM 构建精确任务处理应用
Power by awescnb
点击右上角即可分享
微信分享提示
进入亮色模式