| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 457 人关注过本帖
标题:请大家指教
只看楼主 加入收藏
编程Samuel
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2015-1-6
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:5 
请大家指教
题目描述


给定一个正整数n,求出n!末尾有几个0(1<=n<=30),比如10!= 3628800,则末尾有2个0



输入


多组输入,每组一个正整数n(1<=n<=30)



输出


对于每组输入,输出为一个整数,为n!末尾0的个数

不用除以5累加的方法,用double得出阶乘结果后,怎么计算整数部分后面0的个数?
搜索更多相关主题的帖子: 正整数 
2015-04-02 16:27
编程Samuel
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2015-1-6
收藏
得分:0 
回复 楼主 编程Samuel
或者有其他的方法也请大家指教了,谢谢
2015-04-02 16:28
ceoooec
Rank: 2
等 级:论坛游民
威 望:1
帖 子:26
专家分:61
注 册:2013-6-11
收藏
得分:7 
对10求余数,直到余数不为0。
2015-04-02 18:00
heso
Rank: 2
等 级:论坛游民
帖 子:20
专家分:39
注 册:2015-3-15
收藏
得分:7 
我写了一段代码 但由于类型取值范围受限 只能输入1-20 的数字 代码如下,供同学参考
#include<stdio.h>
#include<stdlib.h>
#define N 3
void Count_0(double *f,int *n)//计算0个数
{
    int i;
    double t[N];
    for(i=0;i<N;i++)
    {
        n[i]=0;
        t[i]=f[i];
        while(((long long)t[i])%10==0)
        {n[i]++;t[i]=t[i]/10;}
    }
}
void Count_f(int *n,double *f)//计算阶乘
{
    int i,j;
    for(i=0;i<N;i++)
    {
        f[i]=n[i];
        for(j=n[i]-1;j>1;j--)
            f[i]*=j;
    }
}
int main()
{
    int n[N];//n>=1&&n<=20
    double f[N];//factorial
    int i=0;
    while(i<N)
    {scanf("%d",&n[i]);i++;}
    Count_f(n,f);
    for(i=0;i<N;i++)
        printf("%0.0lf\n",f[i]);
    putchar(10);
    Count_0(f,n);
    for(i=0;i<N;i++)
        printf("%d\t",n[i]);
    putchar(10);
    system("pause");
    return 0;
}
望一同学习
2015-04-03 09:28
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:737
专家分:3488
注 册:2013-1-26
收藏
得分:7 
回复 楼主 编程Samuel
不知道什么是除以5累加的办法。
对于1*2*3*.....*n。要统计结果的尾零个数。只需要先统计n中有多少个5的倍数。比如n=8,1~8中两数相乘,只有1个5的倍数,又能在其中找到一个偶数与其配对,显然结果尾数是1个零。又如n=17,5的倍数有3个,能和这三个数配对偶数太多了,显然能配三对,结果尾数零个数是3。
这种是不是除以5累加的办法?

大开眼界
2015-04-03 10:01
编程Samuel
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2015-1-6
收藏
得分:0 
回复 3楼 ceoooec
我试过了,可是有错误啊。0的数字不完全匹配
2015-04-03 23:14
快速回复:请大家指教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011986 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved