面试题79:抽奖算法实现
2016-04-13 15:12
295 查看
题目:
一个商场进行一场抽奖活动,其中有两个奖项,第一个奖项A抽中的概率是1/6,第二个奖项B抽中的概率是5/6;编码实现这个抽奖程序。
思路:
这题考察队随机函数的应用。
由于rand()函数产生的随机数的范围是0-65535,那么将该随机数对6求余,得到的数在0-5之间,且每个数出现概率相等。
一个商场进行一场抽奖活动,其中有两个奖项,第一个奖项A抽中的概率是1/6,第二个奖项B抽中的概率是5/6;编码实现这个抽奖程序。
思路:
这题考察队随机函数的应用。
由于rand()函数产生的随机数的范围是0-65535,那么将该随机数对6求余,得到的数在0-5之间,且每个数出现概率相等。
#include <iostream> #include <cstdio> #include <cstdlib> #include <ctime> #include <algorithm> using namespace std; char Draw() { int num = rand() % 6; if (num == 0) return 'A'; else return 'B'; } int main() { srand((unsigned int)time(0)); //注意:srand函数一定不能在循环里 for (int i = 0; i < 36; i++) { cout << Draw() << endl; } return 0; }
相关文章推荐
- 【一位IT男的分享】不做安逸程序员,学前端还是iOS
- 推荐!国外程序员整理的Java资源大全
- 理想的程序员
- 程序员双屏、多屏重要性!怎么设置?
- 面试题中的位运算
- 剑指offer面试题 求两个链表的第一个公共结点
- 安卓面试基本考点
- 【转】数据库常见面试题
- Java面试题:栈和队列的实现
- 野生程序员的故事
- 架构师系列(二)--Java程序员成长的推荐阅读书籍
- 笔试/面试学习之路(一)
- 面试了一个开发人员
- 程序员应该接外包吗?
- SQL面试题总结、解答
- 剑指offer面试题 第一个只出现一次的字符
- Java常见面试题
- 最适合作为Java基础面试题之Singleton模式
- iOS,面试必看,最全梳理
- 写了 35 年代码的老程序员的最大遗憾