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;

    }

  • 相关阅读:
    02_虚拟机参数
    01_java虚拟机基础入门
    03_模板消息
    Redis 实现分布式锁
    01_微信小程序支付
    python产生随机字符串
    输出的编码
    jmeter MD5加密
    vscode 插件推荐
    appium自动化安装(二)
  • 原文地址:https://www.cnblogs.com/yuelingzhi/p/2128798.html
Copyright © 2011-2022 走看看