某棋牌活动的漏洞
例
33000乐券入局,三人,首局消耗3300每一千得118,等到118×3,兑换3×1000, 则剩余消耗为300
# init token in game init_token=33000 # money wallet init_money=0 # for retake retake=[1000,118] #charge pay_1=1000 pay_2=pay_1/10 # number gamer_num=3 # total pay pay=(pay_1+pay_2)*gamer_num #cal times n=0 # loop total_pay=0 while init_token>=pay: if n >1000: break else: init_token=init_token-pay init_money=init_money+pay_1*gamer_num n=n+1 total_pay=pay+total_pay init_token=(int(pay/retake[0]))*retake[1]+init_token total_pay=total_pay-int(total_pay/retake[0])*retake[0] print(int(init_token),init_money,total_pay,n)
次数 | 账户奖金 | 扣除兑换后的消耗 |
---|---|---|
1 | 3000 | 300 |
2 | 6000 | 600 |
3 | 9000 | 900 |
4 | 12000 | 200 |
5 | 15000 | 500 |
6 | 18000 | 800 |
7 | 21000 | 100 |
8 | 24000 | 400 |
9 | 27000 | 700 |
10 | 30000 | 0 |
11 | 33000 | 300 |