数学在优惠券上的应用

ericet
·
·
IPFS
(image source: pixabay)


从小父母就教育我,学好数理化,走遍天下都不怕。

一直以为父母都是在骗我的,数学除了买东西时算算价钱还有啥用处?

长大后,才发现数学的用处除了买东西的时候算算价钱,还可以让东西更优惠!

之前收集过美国一家连锁店的优惠券(为了不让大家滥用优惠券,店名保密),通过优惠券的码发现他们家生成优惠码的规律。

某家的优惠码基本是这个规律:47000RRRRRCODEZ

  • RRRRR:代表随机号码,比如12345
  • CODE:4位 code,这是最主要的号码,每个相同类别的折扣码都会有相同的 code。
  • Z:最后的一位号码叫check sum,就是检查之前号码的总和。可以通过以下公式获得: 10 -((总数(单数位+ 偶数位x3))%10)

上面最主要的是CODE,这个CODE需要收集每个月的优惠券获得。但是某家的程序员可能有点偷懒,基本都是把上个月的CODE+1.

比如,上个月50-10的优惠券的CODE 是1234, 这个月就是1235.

这是目前可用的CODE:

10% off - 0148, 0149, 0150,0151

$10 off $50 - 9218

$15 off $75 - 9347

$20 off $100 - 0146,0147,9382

$40 off $200 - 9388

$60 off $400 - 939

获得CODE后,我们就可以自主的创建新的优惠码了。

比如我随机的优惠码是:47000123459218?(满50-10优惠码)

这里就剩下最后一位的check sum需要算出。

现在我就开始算最后一位的check sum:


最后一位=10 -(4+7x3+0+0+0+1x3+2+3x3+4+5x3+9+2x3+1+8x3)%10

最后一位=10 - 98%10

最后一位=10-8

最后一位=2

最终得到:470001234592182

到网站上试试可不可以使用:


显示这个优惠码已被使用,所以证明这个优惠码是有效的,只是已经被人使用了。

我们得到一个有效的优惠码后,可以通过这个优惠码推算出下一个有效的优惠码,步骤如下:

  • 有效的优惠码:470001234592182
  • 往第10位加1,最后一位加7(如果超过10,选最右边的数字,比如15,选5)
  • 新的优惠码是:470001234692189
  • 试试新的优惠码:


还是显示被别人用了,不怕继续重复第二步,直到生成一个可以用的优惠码


成功了~ 满50减10的优惠码显示在购物车上了~

是不是觉得很神奇!

上面看起来很简单,其实需要收集很多优惠券进行分析,找出他们的共同点。(花这时间还不老老实实的结账走人?)

相信很多人估计看不懂,但是这篇的目的不是让你看懂,也不是让你取巧,而是让你明白数学不止只用于算账,他的应用很广。

所以爸爸妈妈说的,学好数理化,走遍天下都不怕是真的。

CC BY-NC-ND 2.0 授权

喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!

ericetLikecoin/Desmos/Evmos/Nomic/Cerberus 验证人。喜欢分享各类脚本。 网站: https://ericet.xyz
  • 来自作者
  • 相关推荐

运行Bundlr验证人节点(新手版)

运行Teritori测试网节点

Sei激励测试网运行节点