年会抽奖问题

这里是引用
题目描述
年会抽奖 | 时间限制:1秒 | 内存限制:32768K
今年公司年会的奖品特别给力,但获奖的规矩却很奇葩:
首先,所有人员都将一张写有自己名字的字条放入抽奖箱中;
待所有字条加入完毕,每人从箱中取一个字条;
如果抽到的字条上写的就是自己的名字,那么“恭喜你,中奖了!”
现在告诉你参加晚会的人数,请你计算有多少概率会出现无人获奖?
输入描述
输入包含多组数据,每组数据包含一个正整数n(2≤n≤20)。
输出描述
对应每一组数据,以“xx.xx%”的格式输出发生无人获奖的概率。

#include <iostream>
#include <cstdio>
int main()
{
	// 错排数量,预留第一项为0,配合下文中输入的n
	long long d[22] = { 0, 0, 1 };
	long long f[22] = { 0, 1, 2 }; // 阶乘
	for (int i = 3; i < 22; i++)
	{
		d[i] = (i - 1) * (d[i - 1] + d[i - 2]); //错排的递推公式
		f[i] = i * f[i - 1]; //阶乘的递推公式
	}
	int n;
	while (std::cin >> n)
	{
		//用100.0来把结果处理成double,保留两位小数
		printf("%.2f%%\n", 100.0 * d[n] / f[n]);
	}
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
年会抽奖是一项令人期待的活动,而Github作为一个优秀的软件开发平台,可以为年会抽奖增添更多的乐趣和创意。 首先,在Github上创建一个专门用于年会抽奖的仓库。在仓库的README文件中,列出所有参与抽奖的员工名单,并使用Markdown语法进行格式化,使其更加美观易读。 其次,利用Github的Issue功能来进行抽奖活动。通过创建一个Issue,将其作为抽奖的主题,并在内容中规定抽奖的规则和奖品,例如:抽取三等奖的员工将获得小礼品,二等奖将获得护脖枕等,让大家可以提前了解具体的抽奖细则。 然后,利用Github的评论功能来进行参与抽奖的报名。员工可以在对应的Issue中留下自己的评论或者回复,表示自己的参与意愿。这样,大家可以方便地参与抽奖,也方便组织者进行统计。 最后,使用Github的随机数生成器功能来进行实际的抽奖。可以通过编写一段简单的代码,在仓库中创建一个新的分支,将所有参与抽奖的员工名字放入一个数组中,并使用随机数生成器从中抽取获奖名单。在抽奖结果出炉后,将结果公布在仓库的评论区中,让大家可以实时了解获奖情况。 通过利用Github进行年会抽奖,不仅可以提高工作效率,还兼具互动性与趣味性。同时,通过版本控制和可追溯性,抽奖结果的公正性也能得到保证。这样的抽奖方式将以数字化的形式落地,为年会增添一份新鲜感和创新力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值