版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangke1998/article/details/83001311
年会抽奖
时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小)
题目描述
今年公司年会的奖品特别给力,但获奖的规矩却很奇葩: 1. 首先,所有人员都将一张写有自己名字的字条放入抽奖箱中; 2. 待所有字条加入完毕,每人从箱中取一个字条; 3. 如果抽到的字条上写的就是自己的名字,那么“恭喜你,中奖了!” 现在告诉你参加晚会的人数,请你计算有多少概率会出现无人获奖?
输入描述:
输入包含多组数据,每组数据包含一个正整数n(2≤n≤20)。
输出描述:
对应每一组数据,以“xx.xx%”的格式输出发生无人获奖的概率。
输入例子:
2
输出例子:
50.00%
小数计算的东西忘了,有时候一定要记住乘1.0啊
#include<stdio.h>
int main()
{
int n,i;
float x;
long long b[25];
long long a[25];
a[2]=1;a[3]=2;
b[1]=1;
for(i=4;i<=20;i++)
a[i]=(i-1)*(a[i-1]+a[i-2]);
for(i=2;i<=20;i++)
b[i]=b[i-1]*i;
while(scanf("%d",&n)!=EOF)
{
x=1.0*a[n]/b[n]*100;
printf("%0.2f%%\n",x);
}
return 0;
}