杭电2048

Posted on 2014-02-17 21:49  筷子小姐  阅读(201)  评论(0)    收藏  举报

这一题真是操蛋,基本思路没有问题

就是用错排,弄个错排公式就行了,了解一下错排的知识,没什么难的

格式上把我给坑了,墨迹了一个小时,我不知道出错出在哪里,

明天再把这个小问题正式弄掉,胡乱AC了

错排的理解也不是很好

明天细心整理

然后今天编了差不多7-8个小时的代码,肩膀疼,我睡觉了,不管了

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

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3