【每日一题】尾随零

尾随零
在这里插入图片描述

目录

  • 思路:
  • 代码实现:

思路:

最开始看到这题就只想到规规矩矩的做题,先算阶乘在算0,后来提交时总是提示溢出,不死心,改来改去最后没招了。

后来看题解才知道要看5的个数!

为什么呢,其实当几个数字相乘时,末尾出现0就意味着这几个数中出现了2的倍数和5的倍数
例如:

2×5     4×5     2×15....

要自己感受一下

再次我们要知道n的阶乘是从1到n的,
这就说明2的倍数出现的次数就比5出现的倍数次多,
此时我们就将问题从求尾随零的个数转变为求从1到n出现了多少个“5”,要将5的倍数转变为5*倍数

例如我们求25!出现了多少个尾随零。

25! = 1*2*3*4*5*...*(2*5)*...(3*5)*...*(4*5)*...(5*5)。得到5出现的次数为6,即尾随零的个数为6

注意,若遍历的话会超出时间限制,故我们需要一种更巧的一种办法从中找到5的个数。

我们可以先用n/5得到5出现的个数,再n/25得到25出现的个数,再n/125…
便可以得到尾随零的个数了
譬如我们要算125!尾随零的个数。

125/5 = 25 说明出现了255
但是像25这样的可以拆为5*5,故需要
125/25 = 5 得到25出现的个数,
但是像125这样的数字可以拆为5*5*5,故
125/125 = 1最终得到31

代码实现:

class Solution {
public:int trailingZeroes(int n) {int ans = 0;while (n) {n /= 5;ans += n;}return ans;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/468606.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【AI视野·今日CV 计算机视觉论文速览 291期】Wed, 17 Jan 2024

AI视野今日CS.CV 计算机视觉论文速览 Wed, 17 Jan 2024 Totally 182 papers 👉上期速览✈更多精彩请移步主页 Daily Computer Vision Papers MultiPLY: A Multisensory Object-Centric Embodied Large Language Model in 3D World Authors Yining Hong, Zishuo Zhe…

【每日一题】牛客网——链表的回文结构

✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 🙏小杨水平有限,欢迎各位大佬指点,相互学习…

动态水印怎么加 怎么去除动态水印 视频剪辑软件 会声会影安激活序列号 会声会影怎么剪辑视频

为了防止白嫖或者增加美观效果,视频制作者可能会采用动态水印的方式,让其他人难以盗取视频使用。动态水印的添加,需要应用到运动路径功能。接下来,本文会教大家动态水印怎么加,怎么去除动态水印的相关内容。感兴趣的小…

对进程与线程的理解

目录 1、进程/任务(Process/Task) 2、进程控制块抽象(PCB Process Control Block) 2.1、PCB重要属性 2.2、PCB中支持进程调度的一些属性 3、 内存分配 —— 内存管理(Memory Manage) 4、线程(Thread)…

掌握C语言文件操作:从入门到精通的完整指南!

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:C语言学习 贝蒂的主页:Betty‘s blog 1. 什么是文件 文件其实是指一组相关数据的有序集合。这个数据集有一个名称&a…

PR:序列的设置

新建序列 序列设置 将视频拖到时间轴上,如果视频的分辨率或帧率和序列设置不一致会有如下提示,保持现有设置即可

Matplotlib Figure与Axes速成:核心技能一网打尽

Matplotlib Figure与Axes速成:核心技能一网打尽 🌵文章目录🌵 🌳引言🌳🌳 一、Figure(图形)🌳🍁1. 创建Figure🍁🍁2. 添加Axes&#…

亚马逊认证考试系列 - 知识点 - LightSail介绍

一、引言 在当今云计算的时代,亚马逊网络服务(AWS)已成为业界领先的云服务提供商。其中,LightSail服务是AWS为简化云计算的入门和使用而推出的一项服务。它特别适合那些想要快速搭建网站、开发环境或小型应用的用户。通过LightSa…

二叉树-------前,中,后序遍历 + 前,中,后序查找+删除节点 (java详解)

目录 提要: 创建一个简单的二叉树: 二叉树的前中后序遍历: 二叉树的前序遍历: 二叉树的中序遍历: 二叉树的后续遍历: 小结: 二叉树的前中后续查找: 二叉树的前序查找&#…

揭秘某电商公司最新面试流程

🏃‍♂️ 微信公众号: 朕在debugger© 版权: 本文由【朕在debugger】原创、需要转载请联系博主📕 如果文章对您有所帮助,欢迎关注、点赞、转发和订阅专栏! 记录近期某电商公司面试流程及问题,分为三面:…

【教3妹学编程-算法题】捕获黑皇后需要的最少移动次数

3妹:2哥,新年好鸭~ 2哥 : 新年好,3妹这么早啊 3妹:是啊,新年第一天要起早,这样就可以起早一整年 2哥 :得,我还不了解你,每天晒到日上三竿 3妹:嘿嘿嘿嘿,一年是…

Jenkins实战:docker compose 搭建Jenkins

目录 一、文件准备二、安装三、访问与效果展示 一、文件准备 进入/home/docker目录,新建docker-compose-jenkins.yml文件,内容如下: version: 3.0 services:jenkins:image: jenkins/jenkinscontainer_name: jenkinsports:- "8090:8080…