程序员面试金典——解题总结: 9.17中等难题 17.3设计一个算法,算出n阶乘有多少个尾随0
来源:互联网 发布:英语点读机软件下载 编辑:程序博客网 时间:2024/05/16 18:44
#include <iostream>#include <stdio.h>using namespace std;/*问题:设计一个算法,算出n阶乘有多少个尾随0分析: 发现凡是n!中寻找出1~n中5的倍数的5的指数累加和k,即为有多少个尾随0, 5! 有1个0, 10! 有2个0 15! 有.. 25 = 5*5,有2个0 125=5^3,有3个0 注意阶乘的结果可能溢出输入:20输出:5关键:1 n阶乘有多少个尾随0 = 求1到n中,有多少个5的倍数2 球n中有几个m的倍数,直接讲n除以m//直接数一数:5的倍数,25的倍数,125的倍数:比如25,有5个5的倍数,有1个25的倍数,共6个,25刚好多的5被等效认为是25的倍数有1个int countFactorialZero(int n){int count = 0;for(int i = 5 ; n / i > 0 ; i *= 5){count += n / i;}return count;}*/int getZeroTimes(int n){int count = 0;int temp ;for(int i = 5 ; i <= n; i += 5){temp = i;while(temp >= 5){temp /= 5;count++;}}return count;}//直接数一数:5的倍数,25的倍数,125的倍数:比如25,有5个5的倍数,有1个25的倍数,共6个,25刚好多的5被等效认为是25的倍数有1个int countFactorialZero(int n){int count = 0;for(int i = 5 ; n / i > 0 ; i *= 5){count += n / i;}return count;}void process(){int n;while(cin >>n){//int result = getZeroTimes(n);int result = countFactorialZero(n);cout << result << endl;}}int main(int argc , char* argv[]){process();getchar();return 0;}
0 0
- 程序员面试金典——解题总结: 9.17中等难题 17.3设计一个算法,算出n阶乘有多少个尾随0
- 算出n阶乘有多少个尾随零
- 程序员面试金典——解题总结: 9.17中等难题 17.12设计一个算法,找出数组中两数之和为指定值的所有整数对。
- 程序员面试金典——解题总结: 9.17中等难题 17.9设计一个方法,找出任意指定单词在一本书中的出现频率
- 程序员面试金典——解题总结: 9.17中等难题 17.5珠玑妙算游戏
- 程序员面试金典——解题总结: 9.17中等难题 17.14句子分割
- 程序员面试金典——解题总结: 9.17中等难题 17.8给定一个整数数组(有正数有负数),找出总和最大的连续数列,并返回总和
- 程序员面试金典——解题总结: 9.17中等难题 17.1编写一个函数,不用临时变量,直接交换两个数
- 请设计一个算法,计算n的阶乘有多少个尾随零。 给定一个int n,请返回n的阶乘的尾零个数。保证n为正整数
- 程序员面试金典——解题总结: 9.17中等难题 17.11给定rand5(),实现一个方法rand7()。也就是,给定一个产生0到4(含)随机数的方法,编写一个产生0到6(含)随机数的方法
- 程序员面试金典——解题总结: 9.17中等难题 17.6给定一个整数数组,编写一个函数,找出索引m和n,只要将m和n之间的元素排好序,整个数组就是有序的。注意:n - m越小越好,也就是说,找出
- 计算n的阶乘有多少个尾随0(链接)
- 程序员面试金典——解题总结: 9.17中等难题 17.2判断井字游戏中某个玩家是否赢了游戏
- 程序员面试金典——解题总结: 9.17中等难题 17.13将二叉查找树转换为双向链表
- 程序员面试金典——解题总结: 9.17中等难题 17.4编写一个方法,找出两个数字中最大的那一个。不得使用if-else或其他比较运算符。
- 程序员面试金典——解题总结: 9.17中等难题 17.7给定一个整数,打印该整数的英文描述(例如 "One Thousand,Two Hundred-Thirty Four")
- 程序员面试金典——解题总结: 9.18高难度题 18.4编写一个方法,数出0到n(含)中数字2出现了几次
- 一个整数阶乘N!末尾有多少个0
- IOS-Realm 数据库在移动端的使用
- Meteor学习路程(三)之数据库的例子(4)【修改】
- poj Frogger(Dijkstra,Floyd,Spfa)
- 从头搭建TurtleBot的工作环境
- 关于验证的三个正则表达式方法
- 程序员面试金典——解题总结: 9.17中等难题 17.3设计一个算法,算出n阶乘有多少个尾随0
- 如何在Linux中加入cron任务
- java导出导入工具类使用demo
- 函数指针与函数指针数组的简单理解以及vector
- 栈的几个常用方法
- Android Studio Mac版 快捷键
- 真正解决TextView行间距、字间距的问题
- SQL 视图的作用
- Android开发当中常用的方法集锦