Trailing Zeroes (III) LightOJ - 1138(二分+阶乘性质)

数学学习之阶乘 今天看了一会《离散数学及其应用》的第一章后面的上机题的第一道题。 求n!的位数在100到100之间的最大的n。       要解决这个问题,首先就来研究一下阶乘的性质。       查一下wiki百科,就会发现关于阶乘有个斯特林公式:    (有兴趣戳这里),那么我们就可以很快的求出n的阶乘。但是我们不需要求出n的阶乘,只需要知道它有多少位。所以现在就要知道怎样求一个数有多少位了。答案就 阅读详情

Trailing Zeroes (III) LightOJ - 1138

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

3

1

2

5

Sample Output

Case 1: 5

Case 2: 10

Case 3: impossible

题意:给你一个数字,这个数字代表N!后面有几个0。给出这个数字,计算N的值。

解题思路:

任何质因数都可以写成素数相乘的形式。所以计算一个数的阶乘后面几个0,只需计算这个数包含多少5即可
然后用二分查找即可
code:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll solve(ll n){
    ll num = 0;
    while(n){
        num += n / 5;
        n /= 5;
    }
    return num;
}
ll search(ll n){
    ll l = 1,r = 1844674407370;
    ll mid;
    ll res = -1;
    while(l <= r){
        mid = (l + r) >> 1;
        ll ans = solve(mid);
        if(ans == n){
            res = mid;
            r = mid - 1;
        }
        else if(ans > n){
            r = mid - 1;
        }
        else if(ans < n){
            l = mid + 1;
        }
    }
    return res;
}
int main(){
    int t,cas = 0;
    scanf("%d",&t);
    while(t--){
        ll n;
        scanf("%lld",&n);
        ll ans = search(n);
        if(ans == -1)
            printf("Case %d: impossible\n",++cas);
        else
            printf("Case %d: %lld\n",++cas,ans);
    }
    return 0;
}
汇川伺服Modbus-RTU通讯实战:从帧结构解析到西门子PLC配置 本文详细解析了汇川伺服与西门子PLC通过Modbus-RTU协议进行通讯的实战步骤,包括帧结构解析、硬件连接、参数设置及PLC程序配置。通过具体案例和常见问题排查指南,帮助工程师快速掌握工业自动化中的通讯技术,提升设备调试效率。 阅读详情

相关推荐

详解电路设计中的RC电路

​ 一、什么是RC电路 RC电路是指由电阻R和电容C组成的电路,它是脉冲产生和整形电路中常用到 的电路。 常见的RC充、放电电路、RC积分电路合RC微分电路接下来详细讲解。 二、RC充、放电电路 RC充、放电电路如下图所示,下面通过充电和放电两个过程来分析此电路。 ​RC充、放电电路图 (1)RC充电电路 RC充电电路图如下图(a)所示 RC充电电路图及充电曲线图 ​由上图分析: 将上图a中开关S置于“1”处,电源E开始通过电阻R对电容C充电,由于刚开始充电时电容两端没有..

IT xiaobai 4万+

阶乘的性质

1. 基本性质 (1)除 1 之外的所有数的阶乘都是偶数。 (2)≥5\geq 5 的阶乘末尾至少一个 0 (3)≥6\geq 6 的阶乘都能被 9 整除,阶乘的各位数字之和也能被 9 整除

1万+

双轴按键摇杆模块原理与嵌入式驱动实战

双轴按键摇杆是一种融合模拟量(X/Y轴)与数字量(Z轴按键)的复合型人机交互传感器,其本质基于电位器分压原理与机械开关通断特性。通过ADC采集连续电压信号并结合数字IO检测按键状态,可实现高鲁棒性的二维运动感知与触发控制。该方案技术门槛低、成本可控、兼容性强,广泛应用于智能小车、DIY游戏手柄、工业HMI及教育开发板等嵌入式场景。文中深入解析电位器线性度、KEY引脚开漏特性、ADC参考电压稳定性及软件消抖状态机等关键工程要素,为基于Arduino、STM32或ESP32平台的快速集成提供可复用的技术路径。

weixin_30995917的博客 82

阶乘 (C++)

一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作 n!

xzh_csdn_123456的博客 1万+

从ARCore到AICore:揭秘Google如何通过系统级服务推动Android生态创新

本文深入探讨了Google如何通过AICore等系统级服务推动Android生态创新。从ARCore到AICore,Google通过分层解耦策略将AI能力下沉至系统层,实现端侧大模型推理,如Gemini Nano在Pixel 8 Pro中的应用。文章剖析了AICore的技术架构、开发者赋能路径及场景化实践,展示了其在通信、内容创作和生产力工具中的卓越表现。

rust6ferris的博客 545

PS/Ai/PR/AE等adobe出现正版弹窗提示:Your non-genuine Adobe app will be disabled soon解决办法

就是用专门的清理工具下载,清理工具在文章下方。然后新建三个空的记事本文件,重命名为 Adobe Genuine Launcher.exe,AdobeGCClient.exe,AGMService.exe。在该文件目录中,分别找到 Adobe Genuine Launcher.exe,AdobeGCClient.exe,AGMService.exe,然后在防火墙入站规则里,阻止Adobe Genuine Launcher.exe,AdobeGCClient.exe,AGMService.exe。

Q82556499的博客 1万+

Trailing Zeroes (III) LightOJ - 1138 (数论,求n! 中某个数的个数)

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.

Hanylch 468

【Pytorch教程】:卷积神经网络 CNN

Pytorch教程目录 Torch and Numpy 变量 (Variable) 激励函数 关系拟合(回归) 区分类型 (分类) 快速搭建法 批训练 加速神经网络训练 Optimizer优化器 卷积神经网络 CNN 目录Pytorch教程目录什么是卷积神经网络 CNN卷积 和 神经网络池化(pooling)流行的 CNN 结构CNN 卷积神经网络MNIST手写数据CNN模型训练可视化训练全部代码 什么是卷积神经网络 CNN 卷积 和 神经网络 卷积神经网络是如何运作的呢, 举一个识别图片的例子, 我们知

nanke_4869的博客 8087

Light oj 1138 -Trailing Zeroes (III)

Trailing Zeroes (III)  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, 12

crystaljy的博客 446

从Mule ESB到Apache Camel:手把手教你设计一个轻量级企业集成框架的‘心脏’

本文深入探讨了从Mule ESB到Apache Camel的轻量级企业集成框架设计实践,对比了两者在协议支持、消息处理能力和部署灵活性等方面的差异。通过实际代码示例和性能优化技巧,帮助开发者构建高效的核心模块,适用于现代微服务架构下的系统集成需求。

weixin_28738165的博客 375

【漏洞复现】永恒之蓝 MS17-010 远程溢出漏洞(CVE-2017-0143)

文章目录声明前言一、漏洞原理简述二、漏洞代码深层解析三、实验步骤四、漏洞补丁总结 声明 本篇文章仅用于技术研究与技术学习,切勿用于非授权下攻击行为,切记! 前言 Windows7 存在 MS17-010 永恒之蓝(远程溢出漏洞) ,该漏洞是方程式组织在其漏洞利用框架中一个针对SMB服务进行攻击的漏洞,该漏洞导致攻击者在目标系统上可以执行任意代码 一、漏洞原理简述 MS17-010漏洞出现在Windows SMB v1中的内核态函数 srv!SrvOs2FeaListToNt 在处理FEA(File Ex

李同學AI安全 9627

二分+质因数分解,LightOJ 1138Trailing Zeroes (III)

二分+质因数分解

EQUINOX1的博客 472

AWR2243的等效相位中心与虚拟通道

在俯仰维方向上,不重合的虚拟通道有8个,排序为1:4,9:12。每个虚拟阵元之间的间隔为lambda/2。实际y轴方向虚拟阵列只跨越了8*lambda/2的距离。等效相位中心与虚拟通道类似,只是每个相位中心之间间隔为lambda/4,实际y轴方向等效相位中心只跨越了8*lambda/4=7.59mm的距离

qq_50974341的博客 1981

LightOJ 1138 Trailing Zeroes (III) (n的阶乘末尾零的个数+二分)

Problem 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! = 12…*N. For example, 5! = 120, 120 contains one zero on the...

zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz 197

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

LightOJ - 1138 Trailing Zeroes (III)

You task is to find minimal natural numberN, so thatN!contains exactlyQzeroes on the trail in decimal notation. As you knowN! = 1*2*...*N. For example, 5! = 120, 120 contains one zero on the tra...

XYBDX的博客 263

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

LightOJ1138 —— 阶乘末尾0、质因子分解

题目链接:https://vjudge.net/problem/LightOJ-1138 1138 - Trailing Zeroes (III) PDF (English) Statistics Forum Time Limit:2 second(s) Memory Limit:32 MB ...

alince20008的博客 242

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

HDU - 2037 今年暑假不AC

今年暑假不AC Time Limit: 1000MS   Memory Limit: 32768KB   64bit IO Format: %I64d & %I64u Submit Status Description “今年暑假不AC?”  “是的。”  “那你干什么呢?”  “看世界杯呀,笨蛋!”  “@#$%^&*%...”

luciozhang的博客 1212

阶乘

目录 一,阶乘(factorial) 二,阶乘的简单计算 Aizu - 0019 Factorial SCU - 1689 算阶乘 HDU - 1042 N! HDU - 1261 字串数 NYOJ 28 大数阶乘 一,阶乘(factorial) n!=1×2×3×...×(n-1)×n 0!=1 二,阶乘的简单计算 Aizu - 0019 Factorial 题目: Description Write a program which reads an inte..

nameofcsdn的博客 5025

lightoj1138——阶乘的质因子分解定理+二分枚举

题目链接:http://lightoj.com/volume_showproblem.php?problem=1138 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*....

mumei的博客 366

Trailing Zeroes (III) (二分)题解

You task is to find minimal natural numberN, so thatN!contains exactlyQzeroes on the trail in decimal notation. As you knowN! = 1*2*...*N. For example, 5! = 120, 120 contains on...

weixin_34315189的博客 273

LightOJ - 1138 Trailing Zeroes (III)

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 tra...

>*,< 277

阶乘的几种表示方法及其拓展

(a)读入一个非负整数,计算并打印阶乘。错解:#include int main(){int x,i;  //输入一个整数,计数//scanf("%d",&amp;x);for(i=1;i&lt;=x;i++)x*=(x-1);printf("%d",x);return 0;}自以为天衣无缝,实则白痴一个比如我。1. 第一次执行完以后:x=5*(5-1)=20 i=2 没错,但是x变成20了啊啊啊...

LOG_IN_ME的博客 6543

n!(n的阶乘)

我们在这里介绍一些关于n!的性质。 在计数问题中,经常需要用到n!。有必要了解n!在mod p下的一些性质。下面我们假设p是素数,n!=ape(a无法被p整除),并试图求解e和a mod p(把这个东西算出来可以很好的缩小组合数取模的数据)。e是n!中p因子的个数,因此可以使用下面的式子进行计算: n/p+n/p2+n/p3+…… 这个结论很显然,因为n/d和不超过n的能被d整除的个数相等。...

weixin_34034670的博客 906

N - Trailing Zeroes (III) LightOJ - 1138

题目大意很好懂,就是求N!的0的个数 思路:首先考虑到乘积得到0,是由若干2*5构成。这是后问题就转化成我们找N!中有多少2和5,又因为2的个数一定比5多,那么我们只需要找到5的个数就好。那么5的个数怎么求呢  下面给出求法的代码:(不要暴力去搜,会超时的) int Judge(int n){ int ans = 0; while(n){ ans += n/5...

蒟蒻小胖 242

N - Trailing Zeroes (III)

N - Trailing Zeroes (III)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 contai

wtml 320

LightOJ 1138 Trailing Zeroes (III) (数论)

LightOJ 1138 Trailing Zeroes (III) 题目连接:https://vjudge.net/problem/LightOJ-1138 题目描述: 给你一个数 q,让你求出一个数 n , 使得 n! 末位的0的个数为 q 。 解题思路: 首先我们来看一段证明: 一个数阶乘 末位零的个数。 我们可以知道 2 * 5 得到 一个末位 0 的; 同理 22 * 52 得到两个末位 0 ; …… 2n * 5n 得到 n个末位 0; 在阶乘中 2的个数一定大于 5的个数。 所以

qq_45095009的博客 283
上一篇: Help Hanzo LightOJ - 1197(区间筛素数模板题)
下一篇: GCD - Extreme (II) UVA - 11426(gcd+欧拉函数)
Guuuuuu老师儿
博客等级 码龄9年 259粉丝 718原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值