1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > iOS小乐子之买多少注彩票才能中超级大乐透头奖

iOS小乐子之买多少注彩票才能中超级大乐透头奖

时间:2023-08-18 01:56:49

相关推荐

iOS小乐子之买多少注彩票才能中超级大乐透头奖

GitHub地址:/runThor/HTLottery

实现:

// 大乐透的玩法:前区号码范围1-35,随机选取5个不重复的数;后区号码范围1-12,随机选取2个不重复的数,头奖即所有号码完全一致// 假定当期头奖结果NSArray *f = @[@(5), @(10), @(18), @(25), @(33)]; // 前区号码NSArray *b = @[@(3), @(12)]; // 后区号码int r = 0; // 一致的号码个数,r == 7时代表全中NSMutableArray *frontResult = [[NSMutableArray alloc] init];NSMutableArray *backResult = [[NSMutableArray alloc] init];int count = 0; // 需要购买的彩票注数do { [frontResult removeAllObjects];[backResult removeAllObjects];// 得出前区号码for (int i = 0; i < 5; i++) {int a;do {a = 1 + arc4random()%35;} while ([frontResult containsObject:@(a)]);[frontResult addObject:@(a)];}// 得出后区号码for (int i = 0; i < 2; i++) {int b;do {b = 1 + arc4random()%12;} while ([backResult containsObject:@(b)]);[backResult addObject:@(b)];}r = 0;for (id a in frontResult) {if ([f containsObject:a]) {r++;}}for (id bb in backResult) {if ([b containsObject:bb]) {r++;}}count++;} while (r != 7);NSLog(@"%d %@%@", count, frontResult, backResult);

经过多次测试,结果大致在几百万到几千万之间,最少的一次是四百多万,最多的一次七千多万,注意这个结果是彩票的注数,可能有部分彩票的号码组合是相同的。

我记得概率上计算出的中头奖概率为两千多万分之一,就是说所有不重复的号码组合一共有两千多万种,只能说,彩票小买娱乐就好,下重注那就是赌博。

这只是一个小娱乐,计算方式未必科学,如果哪位大神发现问题或者有更好的计算方式,欢迎评论交流~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。