首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
1024! 末尾有多少个0?
[单选题]
1024! 末尾有多少个0?
250
253
260
272
添加笔记
邀请回答
收藏(10)
分享
纠错
4个回答
添加回答
0
推荐
NOWCODER我最帅
我们将两个数相乘得到0,则这两个数分解因子(质数)肯定存在至少一个2和至少一个5(10 = 2*5);
又因为:
2的个数明显比5多(每个偶数都可以分解出2)
所以计算1到1024中分解出5因子个数
1024/5 =204;
1024/25 =40;
1024/125 =8;
1024/625=1;
结果:204+40+8+1 =253
答案 B
谢谢管理员提醒
编辑于 2015-01-02 11:38:40
回复(1)
1
你正年轻
将1024!看做是一个很长的乘式。根据乘法的结合律,找出所有小于1024的数中相乘结果末尾为0的因子。可以想到末尾为0的数与其他数相乘、5的倍数与2的倍数相乘,都会得到末尾为0的数。进一步想末尾为0的数包含在5的倍数中。所以只要找出所有5的倍数与2的倍数相乘就能得到0。然而明显2的倍数是远远大于5的倍数的。所以只要找出长乘式中的所有5的个数就能解决问题。
再次,5的倍数乘2的倍数可以至少得到末尾为1个0的数。如15*2=30。但是5的n次方,包含n个5,可得到末尾为更多0的数。如25*4=5*5*4=100。125*8=5*5*5*8=1000。25与4的倍数相乘会得到2个0,但25的倍数也是5的倍数,其中一半已经在5的倍数中了,只要计算25的倍数的个数即可。
综上。1024!中5的个数应为:
是5的倍数的数有: 1024 / 5 = 204个
是25的倍数的数有:1024 / 25 = 40个
是125的倍数的数有:1024 / 125 = 8个
是625的倍数的数有:1024 / 625 = 1个
所以1024! 中总共有204+40+8+1=253个因子5。
也就是说1024! 末尾有253个0。
发表于 2015-05-21 19:22:17
回复(0)
0
MyGoodHelper
B.253个
发表于 2015-01-26 20:56:20
回复(0)
0
牛客-007
答案:B
末尾0的个数取决于乘法中偶数和5的个数。偶数和5相乘才可以产生0
乘法因子中偶数的个数大于5的个数,所以我们只需统计因子5的个数。
是5的倍数的数有: 1024 / 5 = 204个
再看25这个数25 * 4 = 100,能产生两个0,这是因为25 = 5 * 5;100无论在和任何非10倍数的数相乘都不可能产生多余两个0的数
是25的倍数的数有:1024 / 25 = 40个
同理,125=5*5*5,可以产生三个0
是125的倍数的数有:1024 / 125 = 8个
是625的倍数的数有:1024 / 625 = 1个
所以1024! 中总共有204+40+8+1=253个因子5。
也就是说1024! 末尾有253个0。
发表于 2015-01-18 16:09:01
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
微软
穷举
上传者:
小小
难度:
4条回答
10收藏
10418浏览
热门推荐
相关试题
编写实现链表排序的一种算法。说明为...
微软
链表
排序
评论
(2)
给出一个函数来输出一个字符串的所有排列。
微软
链表
穷举
组合数学
评论
(4)
多少个点位于同一直线
穷举
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
测试工程师
golang工程师
评论
(316)
来自
牛客考试系统测试卷
数据链路层滑动窗口机制中发送窗口(...
网络基础
评论
(1)
有关linux线程的描述,正确的是...
京东
Java工程师
C++工程师
iOS工程师
安卓工程师
运维工程师
前端工程师
算法工程师
PHP工程师
2018
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
又因为:
2的个数明显比5多(每个偶数都可以分解出2)
所以计算1到1024中分解出5因子个数
1024/5 =204;
1024/25 =40;
1024/125 =8;
1024/625=1;
结果:204+40+8+1 =253
答案 B