阶乘后的零[挖掘规律+动态规划]

news/2024/5/7 1:45:12/文章来源:https://blog.csdn.net/qq_43164662/article/details/129272343

挖掘规律 + 动态规划

  • 前言
  • 一、阶乘后的零
  • 二、挖掘规律
    • 1、动态规划
    • 2、直接寻找5的个数
  • 总结
  • 参考资料

前言

想要计算阶乘后的0有多少,可以直接算出阶乘值,再不断对10取余。但是如果n比较大,这种方法是根本行不通的,只能挖掘规律。

一、阶乘后的零

在这里插入图片描述

二、挖掘规律

1、动态规划

想要得到0,等价于得到10,再等价于得到2 * 5,而5的个数一定比2多,毕竟偶数太多。

所以有了5的个数,就有了2*5的个数,就有了10的个数,自然而然就得到0的个数。
如何寻找5的个数,当i % 5 == 0时,f[i] = f[i / 5] + 1

func trailingZeroes(n int) int {f := make([]int,n + 1)rs := 0for i := 1;i <= n;i++ {if i % 5 == 0 {f[i] = f[i / 5] + 1rs += f[i]}}return rs
}

2、直接寻找5的个数

[1,n]中一共有m1个5的倍数,易知,m1 = floor(n / 5),还有25的倍数m2 = floor(n / 25),125的倍数m3=floor(125),这些5k除去前面包含的5k-1,还剩一个5。
所以[1,n]中有m = m1 + m2 + … + mk个5的质因数。

func trailingZeroes(n int) int {rs := 0for n > 0 {rs += n / 5n /= 5}return rs
}

总结

1)挖掘题目规律,才能转换问题,简化问题,比如求5的质因数。而后序通过动态规划来求,还是继续找规律求,又是另一回事了。

参考资料

[1] LeetCode 阶乘后的零

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

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

相关文章

数据挖掘1/13

文章目录教材&#xff0c;考核&#xff0c;软件现在数据是ZB时代数据挖掘公司3类数据挖掘数据挖掘技术&#xff08;5个&#xff09;分类&#xff1a;找因变量y无监督聚类数据分析 数据挖掘教材&#xff0c;考核&#xff0c;软件 教材 考核 软件&#xff1a;jupyter 和spss mod…

十四、MyBatis的逆向工程

逆向工程&#xff1a; 根据数据库表逆向生成Java的pojo类&#xff0c;SqlMapper.xml文件&#xff0c;以及Mapper接口类等。 借助别人写好的逆向工程插件。 使用这个插件的话&#xff0c;需要给这个插件配置哪些信息&#xff1f; pojo类名、包名以及生成位置。SqlMapper.xml文…

EPICS motor模块

一、概要 1&#xff09; 在EPICS motor模块中的是什么并且它为了什么&#xff1f; 2&#xff09; 支持的电机控制器和模型 3&#xff09;电机记录特性 4&#xff09;配置示例 5&#xff09;反馈 6&#xff09; 重试 7&#xff09; 回程差矫正 8&#xff09;发行 二、术…

webrtc拥塞控制算法对比-GCC vs BBR vs PCC

1.前言现有集成在webrtc中的拥塞控制算法有三种, 分别是: 谷歌自研发的gcc, 谷歌自研发的BBR算法, 斯坦福大学提出的基于机器学习凸优化的PCC算法. 本文将探讨一下三个算法的区别和优缺点。2.背景迈聆会议从17年到现在, 一直使用的是基于谷歌的gcc算法自研的Omcc算法(optimizat…

[软件测试]如何使用Eclipse导入项目并打开

&#x1f9d1;‍&#x1f393;个人介绍&#xff1a;大二软件生&#xff0c;现学JAVA、Linux、MySQL、算法 &#x1f4bb;博客主页&#xff1a;渡过晚枫渡过晚枫 &#x1f453;系列专栏&#xff1a;[编程神域 C语言]&#xff0c;[java/初学者]&#xff0c;[蓝桥杯] &#x1f4d…

数据结构与算法基础-学习-14-线性表之串

一、串的定义由0-n个字符组成的有限序列。&#xff08;n>0&#xff09;二、串的相关术语1、子串串中任意个连续字符组成的子序列成为该串的子串。2、主串包含子串的串成为主串。3、字符位置字符在序列中的序号为该字符在串中的位置。4、子串位置子串第一个字符在主串中的位置…

[Java·算法·中等]LeetCode17. 电话号码的字母组合

每天一题&#xff0c;防止痴呆题目示例分析思路1题解1分析思路2题解2题目 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。…

CSS简单使用

凡是html中的标签都可以进行选中&#xff0c;p代表标签中所有的p标签都遵从以上格式。<!DOCTYPE html> <html lang"en"> <head><style type"text/css">p{background-color: red;font-size: 40px;}.p1{font-family:楷体;}</styl…

爆品分析第4期 | 从周销12件到3700+件,这款收腰裤热度和口碑都爆了!

衣食住行&#xff0c;衣是排在第一位的&#xff0c;作为复购率最高的类目之一&#xff0c;服饰一直是TikTok上电商选品的风向标&#xff0c;是衡量电商发展情况的重要参考指标。随着疫情的结束和经济的日渐好转&#xff0c;消费者对服装类的需求上升。除了时装、T恤等日常消费的…

关于PPP-RTK技术优势的一些思考与总结

文章目录一、前言二、SSR修正与PPP三、RTK与PPP-RTK的对比四、PPP-RTK的技术优势五、总结参考文章欢迎关注个人公众号&#xff1a;导航员学习札记 一、前言 感觉近几年PPP和PPP-RTK一直都是GNSS比较火的方向&#xff0c;也有越来越多的国内外厂商提供相关服务&#xff0c;播发…

HTTP2.0协议学习

背景 在优化页面加载速度的时候&#xff0c;发现了HTTP1.1并发数的限制&#xff0c;为了解除这个限制&#xff0c;准备把网站协议升级到HTTP2.0. 之前在学习《趣谈网络协议》的时候&#xff0c;有学习过HTTP2.0协议&#xff0c;但是没有输出成文档&#xff0c;因此借这个机会&…

DIY-BETAFPV和DIY(ESP-01F+E19-900M20S2模块)915MHz信号测试对比

DIY-BETAFPV和DIY&#xff08;ESP-01FE19-900M20S2模块&#xff09;915MHz信号测试对比1. 前提条件2. 实测效果2.1 起点附近&#xff08;距离3m左右&#xff09;2.2 30m米距离&#xff08;树梢&#xff09;2.3 80米距离3. 整体比较4. PCBA分析4.1 DIY-BETAFPV4.2 DIY&#xff0…

阿里云服务器ECS的功能特性有哪些?

本文介绍云服务器ECS的功能特性&#xff0c;帮助您更好地了解和使用云服务器ECS。 1、实例 实例是云上的虚拟计算服务器&#xff0c;内含vCPU、内存、操作系统、网络、磁盘等基础组件。您可以使用阿里云提供的控制台、API等管理工具创建和管理ECS实例&#xff0c;像使用本地服…

Java-封装、继承、多态

封装 访问控制权限又成为“封装”&#xff0c;是面向对象三大特征中的一种。核心是&#xff0c;只对需要的类可见。 继承 继承是所有OOP&#xff08;Object Oriented Programming&#xff09;语言和Java语言都不可或缺的一部分。 只要创建一个类&#xff0c;就隐式继承自Obje…

openpnp - configure - 矫正里程碑

文章目录openpnp - configure - 矫正里程碑概述备注ENDopenpnp - configure - 矫正里程碑 概述 进入矫正里程碑了 查找问题 现在第一个问题是X轴的齿隙矫正 根据提示, 将顶部相机移动到主基准点上, 选择容差(就选用默认的0.025), 开始矫正. 正好开机后, 使能了视觉原点归零. …

Puppeteer项目结构梳理

最近接触了一个个人感觉很奈斯的项目&#xff0c;故记录思路如下&#xff1a; puppeteer项目梳理&#xff1a; 入口文件 run.js 入口命令 node run.js YourConfig.json 1、我们可以在自己的config.json里面设置好 ①、登录的用户名密码;aws或其它服务器的access等id,accessKey…

linux--多线程(一)

文章目录Linux线程的概念线程的优点线程的缺点线程异常线程的控制创建线程线程ID以及进程地址空间终止线程线程等待线程分离线程互斥进程线程间的互斥相关概念互斥量mutex有线程安全问题的售票系统查看ticket--部分的汇编代码互斥量的接口互斥量实现原理探究可重入和线程安全常…

校园外卖点餐系统——Day05【套餐管理业务开发】

❤ 作者主页&#xff1a;欢迎来到我的技术博客&#x1f60e; ❀ 个人介绍&#xff1a;大家好&#xff0c;本人热衷于Java后端开发&#xff0c;欢迎来交流学习哦&#xff01;(&#xffe3;▽&#xffe3;)~* &#x1f34a; 如果文章对您有帮助&#xff0c;记得关注、点赞、收藏、…

jQuery 属性操作

jQuery 属性操作 Date: February 28, 2023 Sum: jQuery属性操作、文本属性值、元素操作、尺寸、位置操作 jQuery 属性操作 设置或获取元素固有属性值 prop() 所谓元素固有属性就是元素本身自带的属性&#xff0c;比如 元素里面的 href &#xff0c;比如 元素里面的 type。 …

爆文制造机!小红书热榜3个方向,告诉你选题诀窍!

我们知道&#xff0c;不论是达人创作内容&#xff0c;还是品牌制定Brief&#xff0c;都需要提前调研筛选海量信息&#xff0c;这时候如果有一个自己的内容素材库&#xff0c;就省事多啦。按照内容需求&#xff0c;我们可以按3个角度划分小红书内容素材&#xff1a;笔记类型、竞…