• hdu 2048 神上帝以及老天爷


    题目


    解题思路:
         典型的错排题目
         首先求出所有的拿错的情况,然后求出错排的所有情况,以前者除以后者就是百分比
         现在求对应的所有都拿错的情况。容易知道,f(1)=0,f(2)=1
         然后,对于N个人,有n-1个人拿错票和n-2个人拿错票的情况
        ① 当有n-1个拿错票时,在加入一个人,只要第n个人和前面任意的n-1个人其中一个调换票就可以了,所以有f(n-1)*(n-1)。

    ②当有n-2个拿错票时,只能是没拿错的那个人与第n个交换票,而那个人可能是前面n-1个的任意一个,所以又有f(n-2)*(n-1)

    所以错排结果为(n-1)*(f(n-1)+f(n-2))。


    这道题,我自己肯定不会做,严重觉得自己高中数学白学了。

    #include <stdio.h>
    int main()
    {
        int a,i,c;
        double sum;
        double b[25];
            scanf("%d",&a);
    b[1]=0;
    b[2]=1;
    
    
    for(i=3;i<=20;i++)
    {
        b[i]=(i-1)*(b[i-1]+b[i-2]);
    }
        while(a--)
        {
        scanf("%d",&c);
        sum=1;
        for(i=1;i<=c;i++)
            sum*=i;
        printf("%.2lf%%
    ",b[c]*100.0/sum);
        }
        return 0;
    }


  • 相关阅读:
    你真的知道什么是三观吗?
    iOS block 的两大常见用法
    微信小程序开发入门
    Linux 简介
    OC 的Runtime 消息转发机制
    关于 ES6 的 let ,var和 const
    python time,datetime
    python操作mysql(pymysql + sqlalchemy)
    python操作redis
    python操作memcached
  • 原文地址:https://www.cnblogs.com/qie-wei/p/10160284.html
Copyright © 2020-2023  润新知