N!表示 1*2*…*N。求 1024!的末尾有多少个0?

首页

题库

面试

求职

学习

竞赛

搜索面经/职位/试题/公司

搜索

我要招人

去企业版

登录 / 注册

首页

>

试题广场

>

N!表示 1*2*…*N。求 1024!的末尾有多少个0?

[单选题]

N!表示 1*2*…*N。求 1024!的末尾有多少个0?比如10!=3628800末尾有两个0。

113

253

1023

1024

添加笔记

求解答(0)

邀请回答

收藏(14)

分享

纠错

5个回答

添加回答

2

StrongYoung

1024/5=204; 204/5=40; 40/5=8; 8/5=1; 1/5=0; 204+40+8+1=253

发表于 2015-07-20 09:20:56

回复(0)

0

岚啊哪

253

发表于 2015-08-15 21:06:39

回复(0)

0

你正年轻

将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:19:57

回复(0)

0

幻世魔灵

void main()

{

int i,cntA,cntB,num,tnum;

while(1)

{

printf("请输入你需要用于阶乘的N:\n");

scanf("%d",&i);

cntA = 0;

cntB = 0;

for(num=1;num<=i;num++)

{

tnum = num;

while(tnum%2==0)

{

cntA++;

tnum = tnum/2;

}

tnum = num;

while(tnum%5==0)

{

cntB++;

tnum = tnum/5;

}

}

if(cntA > cntB)

{

cntA = cntB;

}

printf("共有0个数:%d\n",cntA);

}

输入1024

结果为253

复制去Google翻译

翻译结果

发表于 2015-04-13 21:35:03

回复(0)

0

sharp

B

2 * 5 = 10 贡献一个0 将1024!写成质因数相乘

就是看 2 与 5 的个数(明显2的个数大于5)

发表于 2014-10-18 16:53:33

回复(1)

这道题你会答吗?花几分钟告诉大家答案吧!

提交观点

问题信息

谷歌

穷举

上传者:A-Winter

难度:

5条回答

14收藏

15095浏览

热门推荐

相关试题

普通PC机器上四字节有符号整数能表...

谷歌

编程基础

评论(3)

多少个点位于同一直线

穷举

Java工程师

C++工程师

iOS工程师

安卓工程师

运维工程师

前端工程师

算法工程师

PHP工程师

测试工程师

golang工程师

评论(317)

来自牛客考试系统测试卷

运行下面这段C语言程序之后,输出在...

谷歌

C++

C语言

评论(67)

在一个运算放大器电路中,如果非反相...

模拟电路

评论(1)

以下代码中,`ptrdiff_t`...

C语言

评论(1)

扫描二维码,关注牛客网

意见反馈

下载牛客APP,随时随地刷题

刷真题、补算法、看面经、得内推

使用第三方账号直接登录使用吧:

更多

扫一扫,把题目装进口袋

求职之前,先上牛客

扫描二维码,进入QQ群

扫描二维码,关注牛客公众号

关于我们

加入我们

意见反馈

企业服务

校企合作

联系我们

免责声明

友情链接

公司地址:北京市朝阳区北苑路北美国际商务中心K1座一层-北京牛客科技有限公司

联系方式:010-60728802

投诉举报电话:010-57596212(朝阳人力社保局)

牛客科技© All rights reserved

admin@nowcoder.com

京ICP备14055008号-4

增值电信业务经营许可证

营业执照

人力资源服务许可证

京公网安备

11010502036488号

友情链接