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保留字
    12个不可不知的Sublime Text应用技巧和诀窍
    人生准则
    基于Android 的蓝牙A2DP 功能的实现
    蓝牙协议栈详解
    我的2015计划
    今日学习
    滤波器介绍
    STLINK V2安装使用详解
    javascript闭包
  • 原文地址:https://www.cnblogs.com/yuelingzhi/p/2128798.html
Copyright © 2011-2022 走看看