首页 > 其他 > 详细

集福卡活动

时间:2019-03-03 17:00:56      阅读:203      评论:0      收藏:0      [点我收藏+]

集齐支付宝的五福只需要不到12次操作吗?

为了验证这一点,笔者在PC上模拟了随机产生福卡,重复一万次积攒福卡的过程。

 技术分享图片

这样看来,商家在福卡的数量分布上耍了小计俩。总有那么一种福卡出现的概率极小。

以下源代码:

 1 #include <cstring>
 2 #include <cstdio>
 3 #include <ctime>
 4 #include <cstdlib>
 5 #define re register
 6 #define GC getchar()
 7 int Qread () {
 8     int X = 0;
 9     char C = GC ;
10     while (C > 9 || C < 0) C = GC ;
11     while (C >=0 && C <=9) {
12         X = X * 10 + C - 0 ;
13         C = GC ;
14     }
15     return X ;
16 }
17 const int Maxn = 64 , T = 10000 ;
18 int N ;
19 unsigned long long int Ed , Tot = 0 ;
20 int main () {
21     N = Qread() ,Ed = ((unsigned long long int)1 << N) - 1;
22     srand (time(0)) ;
23     for (re int i = 1 ; i <= T ; ++ i) {
24         unsigned long long int Now = 0 ;
25         int Cnt = 0 ;
26         while (Now != Ed) {
27             int X = rand() % N ;
28             Now |= ((unsigned long long int)1 << X);
29             ++ Cnt ;
30         }
31         printf ("The %d th time takes %d\n" , i , Cnt) ;
32         Tot += Cnt ;
33     }
34     putchar(10) ;
35     printf ("Average = %lf \n" , (double)Tot / T) ;
36     fclose (stdin) ;
37     fclose (stdout);
38     return 0;
39 }

 

集福卡活动

原文:https://www.cnblogs.com/bj2002/p/10361460.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!