数学在优惠券上的应用(编程篇)
(image source: pixabay)
之前分享了数学在优惠券上的应用, 怎么利用数学找出优惠券上的规律,并且利用规律生成新的可用的优惠代码。
前文规律回顾:
某家的优惠码基本是这个规律:47000RRRRRCODEZ
- RRRRR:代表随机号码,比如12345
- CODE:4位 code,这是最主要的号码,每个相同类别的折扣码都会有相同的 code。
- Z:最后的一位号码叫check sum,就是检查之前号码的总和。可以通过以下公式获得: 10 -((总数(单数位+ 偶数位x3))%10)
通过上面的规则,可以看出如果知道CODE,就只需要算出check sum就可以获得一个完整的优惠代码。
下面我们就写个小程序完成自动生成新的优惠代码这个步骤吧。
这是PHP版本:
function couponGenerator($data) {
//47000+5位随机数字+CODE
$data="47000"."".rand(10000,99999)."".$data;
//前面的数字加上check sum
$data=$data."".addchecksum($data);
return $data;
}
//checksum的算法
//10 -((总数(单数位+ 偶数位x3))%10)
function addchecksum($data){
$checksum=0;
for ($x = 0; $x < 14; $x++) {
//如果是单位数
if($x%2==0){
$checksum+=intval($data[$x]);
}
//如果是双位数
else{
$checksum+=intval($data[$x])*3;
}
}
return "".((10-$checksum%10)%10);
}
Python 版本:
def addchecksum(stuff):
checkdigit = 0
for j in range(14):
if j % 2 == 0:
checkdigit += int(stuff[j])
else:
checkdigit += int(stuff[j]) * 3
print(str(stuff) ) + str((10 -(checkdigit % 10))%10)
def coupon_generator(price):
for j in range(100):
i = randint(0, 99999)
addchecksum("47000" + "%05d" % i)
非常简单的小程序。很多程序代码不难写,难写的是思路,只要理清一下思路,代码想怎么写就可以怎么写。
这是利用以上PHP代码完成的一个自动生成优惠码的网页:https://lowescoupongenerator.000webhostapp.com/index.php
你可以随便玩,随便生成新的优惠码,反正都用不了~ 因为目前的CODE已经过期了,我好久已经没更新了~
好了,代码完成了。十几行代码可能省去很多精力算出新的优惠码~
Posted from my blog with SteemPress : http://ericet.vornix.blog/2018/12/29/%e6%95%b0%e5%ad%a6%e5%9c%a8%e4%bc%98%e6%83%a0%e5%88%b8%e4%b8%8a%e7%9a%84%e5%ba%94%e7%94%a8%e7%bc%96%e7%a8%8b%e7%af%87%ef%bc%89/

有种僵住眼球的感觉
Posted using Partiko Android
有种僵住眼球的感觉
Posted using Partiko Android
其实我不太喜欢发编程的东西,因为大家都看不懂,虽然编程不费力,但是写文章费力。
Posted using Partiko iOS
Thank you for using CryptoSicko!
Well done and thank you for joining and supporting my subscription based upvoting bot that provides you with daily upvotes in exchange for your spare STEEM POWER.
Delegation links for CryptoSicko
100SP 250SP500SP
This post got an extra 5 power for following us
Follow @elsurtidor to get biggest votes in your next posts
村村厉害啊👍不懂的我看的眼花🙈
Posted using Partiko Android
你那里天气如何?还在发愁自己的好文没人发现,收益惨淡吗?记得加上cn-curation标签,让飞鸽传书 帮你走出困境吧!假如我的留言打扰到你,请回复“取消”。
看不懂但好像很厉害的样子
Posted using Partiko Android
Congratulations @ericet!
You raised your level and are now a Dolphin!
Do not miss the last post from @steemitboard:
呀!村村好快啊就28天了 你是不是穿越了💪😄😄😄
这张图P的好 是不是小勇敢自己P的呀👍
Posted using Partiko Android