`
为心中梦想挥剑的那一刹那
  • 浏览: 6899 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

n!末尾到底有多少个零的算法问题

 
阅读更多

 看了一下网站,这个问题主要是要从到底有多少个因子5来得出结果。因为每个5与前面一个偶数相乘的话都能都到一个0!所以在求n!的时候,遍历n,分别看1~n中的每个数有多少个因子5,最后n!末尾就有多少个0.下面是代码:

#include<iostream>
using namespace std;

//n!后面有多少个零
int function(int n){
	int count = 0;
	for (int i = n; i >= 1; --i){
		int j = i;
		while (j % 5 == 0){
			count++;
			j = j / 5;
		}
	}
	return count;
}
//求n!
int function2(int n){
	if (n == 1)
		return 1;
	else{
		return (n*function2(n - 1));
	}
}
int main(){
	cout << function2(10)<<","<<function(10) << endl;
	return 0;
}

 代码:

分享到:
评论

相关推荐

    C++版本计算n阶乘末尾0的个数原理讲解及代码实现

    C++版本计算n阶乘末尾0的个数原理讲解及代码实现

    算法与数据结构复习题型

    有零个或多个输入 B. 有零个或多个输出 C. 有穷性 D. 可行性 14、一个线性表第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是【 】 (A)110 (B)108 (C)100 (D)120 15、向一个有127个元素的...

    algorithm-problems:算法问题

    合并两个排序的数组,其中一个数组的末尾有足够的空间容纳另一个数组。 给定一个MxN矩阵,如果任何元素为零,则使该列和行均为零。 给定两个由一位数字组成的数组,创建一个函数,将它们相加并以与输入相同的格式产

    C++计算一个数字的二进制中0或1的个数原理及代码

    C++计算一个数字的二进制中0或1的个数原理及代码

    ZERO-FORCING-EQUALIZER:迫零均衡器是指在通信系统中使用的一种线性均衡算法,它应用信道频率响应的逆函数

    零强制均衡器迫零均衡器是指在通信系统中使用的一种线性均衡算法,它应用信道频率响应的逆函数。 该程序是Matlab中的零强制均衡器的实现和误码率的计算。理论迫零均衡器是指在通信系统中使用的一种线性均衡算法,它...

    leetcode走方格起点到终点-leetcode:编程算法题(python解题)

    编程算法题(python解题) Leetcode 数组类题目 相关问题 题意 解题思路 编程注意  把数组的0移动到数组末尾,保持原来相对顺序  使用双指针,快指针往后搜索非零元素,慢指针站位等待交换  交换前可附加双指针...

    《数据结构 1800题》

    8. 一个算法具有 5个特性: (1)有穷性 、 (2)确定性 、 (3)可行性 ,有零个或多个输入、有一个或多个输出。 《数据结构 1800题》 9.已知如下程序段 FOR i:= n DOWNTO 1 DO {语句 1} BEGIN x:=x+1;...

    多米诺骨牌算法leetcode-warm_up:用于学习算法、数据结构、c/c++

    多米诺骨牌算法leetcode 暖身 用于学习/提炼/重新确认/纠正算法、数据结构、基础计算机科学知识。 解决问题 反复练习,因为上帝没有给我们捷径。 细绳 解码字符串 - 短字距 - 索引处的解码字符串 - 确定两个字符串...

    股票买卖最佳时机leetcode-algorithm-practice:算法实践

    移零:将数组中的所有零移到末尾,而不创建新数组,并保持非零元素的相对顺序。 买卖股票的最佳时机 II :给定一系列股票价格。 确定何时买入和卖出以获得最大利润。 最大子数组:给定一个整数数组nums ,找到具

    lrucacheleetcode-Leetcode_Playground:破解编码面试和leetcode问题的解决方法

    将所有零移动到数组末尾而无需额外空间 买卖股票的最佳时机 II(三种方法)。 组字谜 分组移位字符串 给定一个整数数组 arr,计算元素 x 使得 x + 1 也在 arr 中。 链表中间 退格字符串比较 记录器速率限制器 前 k ...

    leetcode2-algorithm_practice:破解编码面试!

    算法实践 身份证号 名称 类别 从 回答 笔记 0 合并会议时间 大批 + 1 反转阵列就位 大批 + 2 逆词 大批 —— 3 合并排序数组 大批 —— 4 单人支票 大批 + 5 最长子串 细绳 —— 6 盛水最多的容器 大批 —— 7 三和 ...

    leetcode答案-AlgorithmInterview:算法面试

    移动到数组的末尾,同时保持非零元素的相对顺序。 27-移除元素 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O...

    数据结构 第4~5章 串和数组 自测卷答案

    9. 三元素组表中的每个结点对应于稀疏矩阵的一个非零元素,它包含有三个数据项,分别表示该元素 的 行下标 、 列下标 和 元素值 。 10.求下列广义表操作的结果: (1) GetHead【((a,b),(c,d))】=== (a, b) ; //头...

    lrucacheleetcode-leetcode-collection:leetcode-collection

    ,编写一个函数将所有0移动到它的末尾,同时保持非零元素的相对顺序。 假设您有一个prices数组,其中第 i 个元素是给定股票在第 i 天的价格。 设计一个算法来找到最大的利润。 您可以根据需要完成任意数量的交易(即...

    leetcode338-Leetcode:一些过滤leetcode问题的解决方案

    19.从列表末尾删除第N个节点:| 24.成对交换节点:| 445.加两个数II:| 234.Palindrome 链表: | 725. 分部分拆分链表: | 328.奇偶链表:| 哈希表: 问题及解决方法: 1.二和:| 594.最长和谐子序列:| 128.最长...

    WINRAR5.0正式注册版

    不管多少个 CPU 数,它的解压缩速度都比常规算法要慢。所以我们 决定默认禁用文本算法。 如果需要把纯文本数据获得最大程度的压缩率,你可以在“高级压缩参数”对话 框中启用文本压缩。点击压缩对话框的“高级”...

    DFT的matlab源代码-AlgoCasts-JS:JavaScript中的DSA:check_mark_button:

    从末尾查找第N个节点:LinkedList 斐波那契 从链接列表中删除给定节点 在LinkedList中查找中间节点 在O(n)中找到数组中的第二大元素 如何在给定的1到100的整数数组中找到缺失的数字 哈希密码 将地图转换为对象 在...

    c# 加密和解密相关代码

    “消息-摘要算法”实际上就是一个单项散列函数,数据块通过单 向散列函数得到一个固定长度的散列值,数据块的签名就是计算数据块的散 列值,MD5 算法的散列值为128 位。本实例演示如何使用MD5 算法对用户 输入的密码...

    javalruleetcode-MyLeetcodeSolutions:我的Leetcode解决方案

    java lru leetcode 我的Leetcode解决方案 简单的 ...全部移到前面并在末尾填充零 字典和集合 不适用 母牛 - 公牛 缓存总和 素数的整数限制 位操作 不适用 一个 if 语句中的四种情况 Set in 操作需要 O

Global site tag (gtag.js) - Google Analytics