zoukankan      html  css  js  c++  java
  • hdu 2048 神、上帝以及老天爷

    http://acm.hdu.edu.cn/showproblem.php?pid=2048

    这是一道错排的变式,其实用错排(n!*(1/2!-1/3!+…..+(-1)^n/n!)  )/全排(n!) 即是我们要求的百分率,如果要简单一点就可以直接用(1/2!-1/3!+…..+(-1)^n/n!),所以我们就可以很容易写出,还有精度问题,四舍五入,由于系统本身就是取的四舍五入,所以我们就可以不做处理了

    代码:

    #include <stdio.h>

    #include <string.h>

    #include <stdlib.h>

    #include <math.h>

    double a[21]; 

    double cm(int n)

    {

        double s=1; 

        for(double i=2;i<=n;++i)

        {

              s*=i;      

        }

        return s;

    int main()

    {

        int m,k;    

        a[1]=0;

        for(int i=2;i<=20;++i)

        {

                    if(i%2)

                    a[i]=a[i-1]-1/cm(i);

                    else

                    a[i]=a[i-1]+1/cm(i);

        }

        scanf("%d",&m);

        while(m--)

        {

               scanf("%d",&k);

               printf("%.2lf%%\n",a[k]*100);

        }

       // system("pause");

        return 0;

    }

  • 相关阅读:
    java调优参数记录
    Java性能调优实践
    Java常用Json库性能对比
    微服务架构
    css美化页面
    HTML5⑥
    初始css
    HTML⑤
    反射机制
    简单工厂设计模式
  • 原文地址:https://www.cnblogs.com/yuelingzhi/p/2128798.html
Copyright © 2011-2022 走看看