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

    全错概率 = 错误的情况 / 全部的情况

    1. 全部的情况为 n!
    2. 对错误的情况进行讨论:

    (1) 要保证全错,第一个必然不能拿到自己的名字,所以第一个人有(n-1)中选择。
    (2) 第二个人如果拿的是第一个人的名字,就变成了求 (n-2) 人全错的概率,如果拿的不是第一个人的名字,就变成了求 (n-1) 人全错的概率

    使用错排公式a[i] = (i - 1) * (a[i - 1] + a[i - 2]);
    ---------------------
    作者:烂草人
    来源:CSDN
    原文:https://blog.csdn.net/qq_43484605/article/details/86759494
    版权声明:本文为博主原创文章,转载请附上博文链接!

    #include <cstdio>
    
    double memo[40];
    
    double f(int n)
    {
    	memo[2] = 1;
    	memo[3] = 2;
    	
    	for(int i = 4; i <= n; ++ i)
    	{
    		memo[i] = (i - 1) * (memo[i - 2] + memo[i - 1]);
    	}
    	
    	return memo[n];
    }
    
    double fun(int n)
    {
    	double sum = 1;
    	
    	for(int i = 1; i <= n; ++ i)	 sum *= i;
    	
    	return sum;
    }
    
    int main()
    {
    	int n, m;
    	double res;
    	scanf("%d", &n);
    	while(n --)
    	{
    		scanf("%d", &m);
    		res = f(m) / fun(m);
    		printf("%.2f%%
    ", res*100);
    	}
    	
    	return 0;
    }
    

      

  • 相关阅读:
    HNOI2003 消防局的设立
    APIO2007 风铃
    SDOI2006 保安站岗
    消息传递
    [POI2008]STA-Station
    JLOI2015 城池攻占
    BOI2004 sequence
    Monkey King
    APIO2012 Dispatching
    HTML meta 文本 格式排版 链接图表 列表 表单 frame后台布局实例
  • 原文地址:https://www.cnblogs.com/mjn1/p/11290657.html
Copyright © 2011-2022 走看看