[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[数值计算] 【Warning:此贴已经过气】【挑战】用任何语言在猜数游戏作弊

本帖最后由 bbaa 于 2017-7-27 17:20 编辑

【此贴已经过气】


把算法代码发到楼下吧!
挑战地址:bbaass.tk
API:http://bbaass.tk/math/
POST:
注册:
send:"reg",
username:username
发送答案:
send:"Answer",
mathint)答案,
username:username
Return:Json
code => 200
re => ">" or "<" or "=" [=代表正确]
tokens => 本局tokens [如果tokens变化代表,本局结束 开始下一局]
winer => 上局赢家[可以知道谁抢了你的题目]

添加Token可以检测数值变更本来就有但是我忘了.....


活动:7:30P.M清档比赛10分钟后第一者给2.99元[已结束][QQ]恭喜happy886rr

应某人要求... 17-7-19 13点更改
感谢下方大佬捧场

一小时战况:

半小时战况:

十分钟战况:

一分钟战况:

数值总榜
1

评分人数

    • codegay: 很好的练习题。技术 + 1

你这自动请求的频率有点高啊。

我开了有一会刚好数据库500错误了。不知道有没有关系。
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

回复 2# codegay


    500是接收到错误数据返回
  1. if (empty($json["Username"][$Username])) {if ($_POST["send"]!=="reg") {die (header("HTTP/1.1 500 Internal Server Error"));}}
复制代码

TOP

本帖最后由 老刘1号 于 2017-7-2 11:12 编辑

先来个暴力枚举(VBS):
  1. With CreateObject("MSXML2.XMLHTTP")
  2. .Open "POST", "http://bbaass.tk/math/", False
  3. .setRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded"
  4. .Send "send=reg&username=老刘"
  5. End With
  6. For i = 1 to 100
  7. If math(i) = "=" then msgbox "Win!The number is "&i
  8. next
  9. Function Math(num)
  10. With CreateObject("MSXML2.XMLHTTP")
  11. .Open "POST","http://bbaass.tk/math/", False
  12. .setRequestHeader "CONTENT-TYPE","application/x-www-form-urlencoded"
  13. .send "send=Answer&math=" & num & "&username=老刘"
  14. Math = Split(Split(.responseText,",")(2),"""")(3)
  15. End With
  16. End Function
复制代码
1

评分人数

TOP

回复 4# 老刘1号


    我用你的程序跑出一个,你的用户名下成功率没有+1啊。
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

回复 4# 老刘1号


下面Username 应为 username

TOP

回复 6# bbaa
回复 5# codegay

    晕,我说嘛

TOP

无脑暴力比较好写。
  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on 2017-07-02 02:21:10
  4. @author: codegay
  5. python3 & 编辑器 == spyder
  6. """
  7. import requests
  8. apiurl = "http://bbaass.tk/math/"
  9. math = 50
  10. data = {
  11.         'send': 'Answer',
  12.         'username': 'codegay',
  13.         'math': math,
  14.         }
  15. session = requests.Session()
  16. while True:
  17.     for r in range(1, 101):
  18.         data['math'] = r
  19.         post = session.post(apiurl, data=data)
  20.         re = post.json()['re']
  21.         if re == '=':
  22.             break
复制代码
1

评分人数

去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

本帖最后由 老刘1号 于 2017-7-2 17:56 编辑

取平均数递归法
在19楼是最新的防溢出与更改的版本:http://www.bathome.net/redirect.php?goto=findpost&ptid=44616&pid=200845

TOP

回复 9# 老刘1号
算法有问题,这不是正宗的二分,是递归。

TOP

回复 10# happy886rr


   有空来写一个看看。我不会写呢。
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

本帖最后由 老刘1号 于 2017-7-2 17:57 编辑

回复 10# happy886rr


    改进了下,欢迎测试

TOP

程序是不是崩了。一直返回500
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

回复 13# codegay


    确实崩了,楼主说的……
vbs表示下标越界

TOP

本帖最后由 happy886rr 于 2017-7-2 15:08 编辑

回复 11# codegay
在你的requests.Session()基础上改的。(外链效果图)
  1. import requests
  2. # 用户信息
  3. userNAMZE='Psaa'
  4. # 主机地址
  5. hostURL='http://bbaass.tk/math/'
  6. # 提交数据
  7. postDATA={'send':'Answer', 'username':userNAMZE, 'math':50}
  8. # 注册用户名
  9. requests.Session().post(hostURL, {'send':'reg', 'username':userNAMZE})
  10. # 辗转移位
  11. def GuessFun(mathMIN, mathMAX):
  12. # 搜索次数
  13. searchTIMES=0
  14. while mathMAX-mathMIN >1:
  15. postDATA['math'] = (mathMAX+mathMIN)>>1
  16. searchTIMES +=1
  17. print("The %d times"%(searchTIMES))
  18. r = requests.Session().post(hostURL, postDATA).json()
  19. ret = r['re']
  20. if ret == '=':
  21. break
  22. elif ret == '<':
  23. mathMIN=postDATA['math']
  24. else:
  25. mathMAX=postDATA['math']
  26. return searchTIMES
  27. # 打印结果
  28. if __name__ == "__main__":
  29. searchTIMES = GuessFun(-1, 101)
  30. print("Search times: %d\nGuess the number: %d"%(searchTIMES, postDATA['math']))
复制代码
3

评分人数

TOP

返回列表