HDU-2048

来源:互联网 发布:单片机悬浮是什么意思 编辑:程序博客网 时间:2024/05/17 05:52

原题点击打开链接

#include<stdio.h>int main(){    int T,n;     double ans[8]={0,0,50,33.33,37.50,36.67,36.81,36.79};     scanf("%d",&T);     while(T--) {         scanf("%d",&n);         if(n>=7)         printf("36.79%%\n");         else         printf("%.2lf%%\n",ans[n]);}return 0;}

这是作弊的代码,可根据规律计算得出。也可以AC。

#include <stdio.h>float fac(int a){if(a==0)return 1;else return a*fac(a-1);}int main(){int t,i,num;float p[50]={0,0,1};scanf("%d",&t);i=3;while(t--){scanf("%d",&num);for(;i<=num;i++)p[i]=(i-1)*(p[i-1]+p[i-2]);printf("%.2f%%\n",p[num]*100/fac(num));}return 0;}

正确的AC代码,典型的错排问题。请参照这里点击打开链接

原创粉丝点击