leetcode172. 阶乘后的零,遍历每个因数中5的个数

news2024/12/28 20:27:55

leetcode172. 阶乘后的零

给定一个整数 n ,返回 n! 结果中尾随零的数量。

提示 n! = n * (n - 1) * (n - 2) * … * 3 * 2 * 1

示例 1:
输入:n = 3
输出:0
解释:3! = 6 ,不含尾随 0

示例 2:
输入:n = 5
输出:1
解释:5! = 120 ,有一个尾随 0

示例 3:
输入:n = 0
输出:0

提示:
0 <= n <= 104

在这里插入图片描述

题目分析

  • 问题定义:计算一个整数n的阶乘中末尾零的个数。
  • 关键概念:末尾零的个数取决于因子5的个数。

算法介绍

  • 动态规划:实际上,这个问题可以通过找出因子5的个数来解决,因为每个10包含一个5

算法步骤

  1. 初始化计数器five为0,用于记录因子5的个数。
  2. 遍历从5到n的每个数i,步长为5,因为只有当数字包含因子5时,它才会增加末尾零的个数。
  3. 在每个包含因子5的数i中,将five增加1。
  4. 返回five,即末尾零的个数。

算法流程

初始化计数器 five
遍历从5到n的每个数 i
x%5==0?
将five增加1
继续
x>1?
x/=5
结束

具体代码

class Solution {
public:
    int trailingZeroes(int n) {
    int five=0;
    for(int i=5;i<=n;i+=5)
    {
        for(int x=i;x%5==0;x/=5)
        {
            five++;
        }
    }
    return five;
    }
};

算法分析

  • 时间复杂度:O(n/5),因为每次循环都跳过了4个数字,所以时间复杂度接近于O(n)。
  • 空间复杂度:O(1),只需要常数级别的额外空间。
  • 易错点:正确理解为什么只需要计算因子5的个数。

相似题目

题目链接
600. 不含连续1的非负整数LeetCode
326. 3的幂LeetCode
125. 验证回文串LeetCode

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第八届控制工程与先进算法国际论坛(IWCEAA 2024)

重要信息 会议大会官网&#xff1a;www.iwaace.cn&#xff08;点击进一步了解&#xff09; 二轮截稿时间&#xff1a;2024年09月27日 录用通知时间&#xff1a;投稿后7个工作日 收录检索类型&#xff1a;IEEE Xplore, EI, Scopus 大会介绍 第八届控制工程与先进算法国际论…

python 交互模式怎么切换目录

假如要用交互界面调用一个.py文件&#xff1a; &#xff08;1&#xff09;用cmd界面定位到文件位置&#xff0c;如cd Desktop/data/ #进入desktop下data目录。 &#xff08;2&#xff09;接着打开python&#xff08;输入python&#xff09; 调用os &#xff08;1&#xff0…

3.js - modelPosition.z = sin((modelPosition.x+uTime)*10.0)*0.05;

哈 1、完整的动态波纹效果吧 main.js import * as THREE from three import { OrbitControls } from three/examples/jsm/controls/OrbitControls// 顶点着色器 import basicVertexShader from ./shader/11-01/raw/vertex.glsl?raw // 片元着色器 import basicFragmentShad…

python OpenGL绘制正八面体代码

学习OpenGL过程中&#xff0c;先从绘制三角形开始逐渐对Opengl有一些了解&#xff0c;到现在进阶到绘制立方体。通过借鉴网友绘制六面体得到灵感&#xff0c;改了一下他的代码成功绘制出正八面体。不管是绘制三角形还是绘制立方体&#xff0c;对于空间坐标系要相当熟悉&#xf…

苍穹外卖项目前端DAY03

前端DAY03 1、套餐管理 1.1、套餐分页查询 1.1.1、需求分析和接口设计 产品原型&#xff1a; 业务规则&#xff1a; 根据页码展示套餐信息每页展示10条数据分页查询时可以根据需要&#xff0c;输入套餐名称、套餐分类、售卖状态进行查询 接口设计&#xff1a; 套餐分页查…

如何使用电商API接口?(淘宝|京东商品详情数据接口)

一、了解电商API接口&#xff1a; 如今&#xff0c;在电商市场中&#xff0c;电商API接口的广泛应用极大地提高了电商行业的工作效率&#xff0c;使得商家能够灵活集成多种服务&#xff0c;高效优化业务流程。 当前&#xff0c;电商平台中的多种业务都可以通过使用API接口来做…

Tomato靶场渗透测试

1.扫描靶机地址 可以使用nmap进行扫描 由于我这已经知道靶机地址 这里就不扫描了 2.打开网站 3.进行目录扫描 dirb http&#xff1a;//172.16.1.113 发现有一个antibot_image目录 4.访问这个目录 可以看到有一个info.php 5.查看页面源代码 可以发现可以进行get传参 6.…

脉脉高聘:大模型算法岗平均月薪近7万元,位居高薪榜第一

9月5日&#xff0c;脉脉高聘人才智库数据显示&#xff0c;大模型领域整体供需比1.76&#xff0c;整体供大于求。同时&#xff0c;高技术岗位人才稀缺&#xff0c;云计算人才供需比仅为0.33&#xff0c;相当于3个岗位争夺1个人才。大模型算法岗位平均月薪最高&#xff0c;超过6.…

【STM32+HAL库】---- 驱动MAX30102心率血氧传感器

硬件开发板&#xff1a;STM32F407VET6 软件平台&#xff1a;cubemaxkeilVScode1 MAX30102心率血氧传感器工作原理 MAX30102传感器是一种集成了红外光源、光电检测器和信号处理电路的高度集成传感器&#xff0c;主要用于心率和血氧饱和度的测量。以下是MAX30102传感器的主要特点…

草料二维码功能上新!可以跨分区移动或复制内容了!

支持将 分区 下的内容移动或复制到其他分区。适用于将原初始分区下的内容按业务划分&#xff0c;移动到其他分区。或者当物品流转或业务变更时&#xff0c;可以及时将码及数据移动到对应分区&#xff0c;移动后&#xff0c;二维码图案不会发生变化。 目前仅表单、活码、批量模…

在修改文件 /ect/hosts时无法保存 can‘t open file for writing

输入&#xff1a;q! 即可 情境&#xff1a; 在Master节点中执行如下命令打开并修改Master节点中的“/etc/hosts”文件&#xff1a; sudo vim /etc/hosts 可以在hosts文件中增加如下两条IP和主机名映射关系&#xff1a; 192.168.1.121 Master 192.168.1.122 Slave1

解决App推广痛点:一键获取下载数据的秘诀

在App推广的过程中&#xff0c;获取准确的下载数据一直是一个令人头疼的问题。你知道吗&#xff1f;无法精确追踪用户来源和下载量&#xff0c;就像是在黑暗中摸索&#xff0c;让推广效果大打折扣。今天&#xff0c;我们就来揭秘如何轻松获取App下载数据&#xff0c;优化你的推…

BaseThreadStart代码分析

BaseThreadStart代码分析 第一部分&#xff1a; ​​​​​​​ 在调用CreateThead创建线程的时候&#xff0c;操作系统会为新线程创建线程内核对想象&#xff0c; 线程内核对象包含了线程的上下文&#xff08;是一个C O N T E X T结构&#xff09;以及一些其他属性和统计信息&…

计算机毕业设计 | SSM停车场管理系统(附源码)

1&#xff0c; 概述 1.1 课题背景 随着社会的快速发展&#xff0c;计算机的影响是全面且深入的。人们的生活水平不断提高&#xff0c;日常生活中用户对停车场管理系统方面的要求也在不断提高&#xff0c;需要的人数更是不断增加&#xff0c;使得停车场管理系统的开发成为必需…

【HarmonyOS】安装包报错,code:9568282 error: install releaseType target not same.

【HarmonyOS】安装包报错&#xff0c;code:9568282 error: install releaseType target not same. 报错信息 Install Failed: error: failed to install bundle. code:9568282 error: install releaseType target not same. You can also uninstall and reinstall the module…

使用Python读取Excel数据

目录 使用Python读取Excel数据 安装必要的库 读取Excel文件 基本步骤 代码案例 解释 其他常用操作 选择特定列 筛选数据 数据清洗 总结 使用Python读取Excel数据 在日常的数据处理工作中&#xff0c;Excel文件是非常常见的一种数据格式。Python提供了多种库来读取和…

SprinBoot+Vue新生报到微信小程序的设计与实现

目录 1 项目介绍2 项目截图3 核心代码3.1 Controller3.2 Service3.3 Dao3.4 application.yml3.5 SpringbootApplication3.5 Vue3.6 uniapp代码 4 数据库表设计5 文档参考6 计算机毕设选题推荐7 源码获取 1 项目介绍 博主个人介绍&#xff1a;CSDN认证博客专家&#xff0c;CSDN平…

java重点学习-mybatis

4.1 MyBatis执行流程 ① 读取MyBatis配置文件:mybatis-config.xml加载运行环境和映射文件② 构造会话工厂SqlSessionFactory③ 会话工厂创建SqlSession对象(包含了执行SQL语句的所有方法)④ 操作数据库的接口&#xff0c;Executor执行器&#xff0c;同时负责查询缓存的维护⑤E…

人、货、场巨变,5G人工智能时代新的创业机会在哪?

随着5G元年的开启&#xff0c;人工智能的潜力被进一步激发&#xff0c;"人工智能"广泛应用于教育、无人驾驶、金融、银行、医疗、工业等领域&#xff0c;成为中国新的经济增长引擎&#xff0c;促进中国经济火爆增长。不仅促进了中国消费者的购买力&#xff0c;更萌发…

亚马逊卖家测评为什么要自己养账号呢?不懂快进来看看

亚马逊上的卖家为啥要自己养账号呢&#xff1f;咱们来聊聊这个事儿。 亚马逊特别看重用户的体验&#xff0c;所以买家的评论和打分对店铺的排名影响很大。平台对评论的审核很严格&#xff0c;这些评论直接关系到商品在平台上的表现和销量。 在亚马逊上&#xff0c;买家的评分和…