| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2376 人关注过本帖, 1 人收藏
标题:输入一个数n,判断n!这个数末尾0的个数???不知道错哪里了
只看楼主 加入收藏
jj369258
Rank: 4
等 级:业余侠客
帖 子:116
专家分:226
注 册:2010-12-2
结帖率:69.57%
收藏(1)
已结贴  问题点数:3 回复次数:18 
输入一个数n,判断n!这个数末尾0的个数???不知道错哪里了
#include<stdio.h>
int mian()
{
    int n,a,b,c,d,j,t;
        scanf("%d",&n);
        if(n==0)
            printf("0");
        if(n>0)
        {
            t=0;
            for(j=1;j<=n;j++)
            {
                a=j%5;
                b=j%25;
                c=j%125;
                d=j%625;
                if(a==0)
                {
                    if(b!=0&&c!=0&&d!=0)
                        t=t+1;
                    if(b==0&&c!=0&&d!=0)
                        t=t+2;
                    if(b==0&&c==0&&d!=0)
                        t=t+3;
                    if(a==0&&b==0&&c==0&&d==0)
                        t=t+4;
                }
            }
            printf("%d\n",t);
    }
    return 0;
}
搜索更多相关主题的帖子: include 
2011-03-05 11:24
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
int mian() //拼写错误应为:
int main ()

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-03-05 18:04
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
没看懂这段代码的意思.
2011-03-05 19:18
weiwei555
Rank: 5Rank: 5
来 自:中国
等 级:职业侠客
帖 子:179
专家分:323
注 册:2011-3-4
收藏
得分:0 
不理解你题目中“这个数末尾0的个数”
2011-03-06 13:37
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
以下是引用weiwei555在2011-3-6 13:37:31的发言:

不理解你题目中“这个数末尾0的个数”

意思就是说,比如 5! = 120,“末尾 0 的个数”就是 1 个。120 末尾只有一个 0,这个意思应该懂吧。
2011-03-06 15:03
shiliangzdm
Rank: 1
来 自:四川
等 级:新手上路
帖 子:22
专家分:8
注 册:2010-3-21
收藏
得分:0 
楼主的程序看的纠结。0!=1,阶乘用递归算就行了吧,判断末尾是不是0只需要判断n!%10是不是等于0就行了
2011-03-06 22:12
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:0 
以下是引用pangding在2011-3-6 15:03:01的发言:


意思就是说,比如 5! = 120,“末尾 0 的个数”就是 1 个。120 末尾只有一个 0,这个意思应该懂吧。

哦, 原来是这个意思!

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-03-06 22:28
lucky563591
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:765
专家分:2103
注 册:2009-11-18
收藏
得分:0 
有这么复杂吗?直接n/5,然后等差数列求和,5的个数就是0的个数
2011-03-07 07:46
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
把程序写清楚一些   

                                         
===========深入<----------------->浅出============
2011-03-07 10:43
jj369258
Rank: 4
等 级:业余侠客
帖 子:116
专家分:226
注 册:2010-12-2
收藏
得分:0 
回复 楼主 jj369258
#include<stdio.h>
int main()
{
    int n,a,b,c,d,i,t=0;
    scanf("%d",&n);
    if(n==0)
        printf("0\n");
    if(n>0)
    {
        for(i=1;i<=n;i++)
        {
            a=i%5;
            b=i%25;
            c=i%125;
            d=i%625;
            if(a==0&&b!=0&&c!=0&&d!=0)
                t=t+1;
            if(a==0&&b==0&&c!=0&&d!=0)
                t=t+2;
            if(a==0&&b==0&&c==0&&d!=0)
                t=t+3;   
            if(a==0&&b==0&&c==0&&d==0)
                t=t+4;
        }
        printf("%d\n",t);
    }
    return 0;
}
            
2011-03-17 13:15
快速回复:输入一个数n,判断n!这个数末尾0的个数???不知道错哪里了
数据加载中...
 
   



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

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