牵着老婆满街逛

随便写点技术性的文章


笨贼问题

3月24日上午10点30分左右,罗某保存了贩卖机上原本的收款码,并将两张伪造二维码贴在了口罩自动贩卖机上。只要有人扫码,他支付宝收到转账,就用自己手机扫一下事先拍好的贩卖机二维码照片完成购买,这样虽然有个时间差,但顾客也能拿到口罩,自己又轻松赚到了差价,为了以假乱真,罗某还设置了首单减一块钱的优惠,买一个口罩需要14元,两个29元。截止到24日下午6时,贩卖机上的二维码被民警发现并撕除,罗某通过此方法共非法获利74元。

新闻来源: 都要注意!6元口罩突然涨到14元?这个自动贩卖机,一查果然有猫腻!

很多人会问,为什么会获利74元,他总共卖出去的口罩是多少?

解析问题

所以,有4种购买价格和获利:

只需要穷举出来就可以解决这个问题。

解决方案

func Solver() {
	a := 8
	b := 9
	c := 18
	d := 17
	total := 74
	for i := 0; i < 10; i++ {
		for j := 0; j < 10; j++ {
			for m := 0; m < 5; m++ {
				for n := 0; n < 5; n++ {
					ret := (i * a) + (j * b) + (m * c) + (n * d)
					if total == ret {
						fmt.Println(i, j, m, n, ret)
					}
				}
			}
		}
	}
}

结果

14元1个(获利8元) 15元1个(获利9元) 29元2个(获利17元) 30元2个(获利18元)
5个   2单4个  
6个 1个 1单2个  
7个     1单2个
7个 2个