hdu 2048

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu 2048相关的知识,希望对你有一定的参考价值。

PS:WA了两次...主要是没注意到fac的大小好像只能写到9...要用long long型递归求阶乘...

      然后就是错排公式...百度下..

代码:

#include "stdio.h"
long long dp[30];
long long fac[30];
int main(){
 int n,a,i;
 dp[0]=0;
 dp[1]=1;
 fac[0]=1;
 fac[1]=1;
 fac[2]=2;
 //dp[1]=0;
 //dp[2]=1;
 for(i=2;i<30;i++){
  dp[i]=i*(dp[i-1]+dp[i-2]);
  fac[i+1]=fac[i]*(i+1);
 }
 scanf("%d",&n);
 while(n--){
  scanf("%d",&a);
  printf("%.2lf%%\n",(double)dp[a-1]/fac[a]*100.0);
 }
 return 0;
}

以上是关于hdu 2048的主要内容,如果未能解决你的问题,请参考以下文章

hdu2048

神上帝以及老天爷 HDU - 2048(错排)

HDU 2048 神上帝以及老天爷 递推错排

HDU 2048 神上帝以及老天爷(错排概率问题)

HDU 2048 错排

HDU 2048 神上帝以及老天爷