• c 有关N!阶乘的相关问题----陆续补充上来


    第一个:求N!结果中末尾0的个数问题。思路是末尾0的产生   5*偶数,阶乘中偶数的个数肯定比5多,所以求出阶乘中5的个数就可以求出末尾0的个数。

      1 #include<stdio.h>
      2 
      3 int main(void)
      4 {
      5     int num,count,i,j;
      6     i = count = 0;
      7     scanf("%d",&num);
      8     for(i=5; i<=num; i++)
      9     {
     10         j=i;
     11         while(j)
     12         {
     13             if(j % 5 == 0)
     14             {
     15                 count++;
     16                 j /= 5;
     17             }
     18             else
     19                 break;
     20         }
     21     }
     22     printf("%d
    ",count);
     23     return 0;
     24 }

    

    第二个:N!中位数有多少个,主要是要记得数学公式,要不然要去累加也够呛的。

     1 #include<stdio.h>
     2 #include<math.h>
     3 int main(void)
     4 {
     5     int i,num;
     6     double result;
     7     scanf("%d",&num);
     8     result = 1.0;
     9     //数学公式 log10(n!)=log10(1*2*3…*n)=log10(1)+log10(2)+…+log10(n)+1 为10!的位数
    10     for(i=1; i<=num; i++)
    11     {
    12         result += log10(i);
    13     }
    14     printf("%d",(int)result);
    15     return 0 ;
    16 }
  • 相关阅读:
    js1
    curl获取图片
    TP中讲的两种ajax方法
    tp验证码
    TP上传图片
    TP中登录验证
    tp中自定义跳转页面
    用户数据库表状态一类的问题
    用php实现斐波那契数列
    微信的网页授权登陆
  • 原文地址:https://www.cnblogs.com/lhy5678888/p/4399374.html
Copyright © 2020-2023  润新知