实验吧编程类题目
小猴子爱吃桃子
猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
格式:CTF{}
1 | num = 1 |
找素数
设一个等差数列,首元素为367,公差为186, 现在要求找出属于该等差数列中的第151个素数并输出。
格式:CTF{xxx}
1 | sushu = 0 |
分数拆分
存在这样的一个等式,1/400=1/x+1/2y,(x>y)。
你的任务就是求出共有多少对这样的正整数x和y,使得该等式成立。
(提示:你只需要求出有多少对,而不必输出这些X,Y对具体是多少)
hint:CTF{xxx}
1 | # 1、根据题目等式,可以知道x=400*y)/(y-200),因为x和y都是正整数,且考虑分母不为0,所以这里可以确定y的最小值为201; |
Hashkill
6ac66ed89ef9654cf25eb88c21f4ecd0是flag的MD5码,(格式为ctf{XXX_XXXXXXXXXXX_XXXXX})
由一个0-1000的数字,下划线,纽约的一个区,下划线,一个10000-15000的数字构成。
1 | import hashlib |
考考你的程序功底
给定一个20行20列的数表,求其中在一条线上(行、列、两个对角线)连续4个数的乘积的最大值。
1 | a = [8,2,22,97,38,15,0,40,0,75,4,5,7,78,52,12,50,77,91,8] |
括号表达式
一个括号表达式可以按照如下的规则表示,就是每个右括号之前的左括号数。
比如(((()()()))),每个右括号之前的左括号数序列为P=4 5 6 6 6 6,而每个右括号所在的括号内包含的括号数为W=1 1 1 4 5 6。
现在给定一个括号表达式为 4 6 6 6 6 8 9 9 9,输出每个右括号所在的括号内包含的括号数。
key格式:CTF{xxx}
1 | # 这道题要写,数都数得来,画画图或者模拟整个过程一定会出来结果,我们不妨看看能否找出规律。 |
斐波那契数列
数列A满足An = An-1 + An-2 + An-3, n >= 3
编写程序,输入A0, A1 和 A2的值1 1 1时, 计算A99的高八位。
key格式:CTF{}
1 | def A(num): |
大数据问题
小明刚刚学习计算机编程,老师给他出了这样一道题目,
但是他怎样思考,都做不出来,于是,只好请教高手的你了。
求sum = 1!+2!+3!+……+6788!+6789!的末5位。
提交格式:SimCTF{}
1 | import math |
三羊献瑞
观察下面的加法算式:
祥 瑞 生 辉
+ 三 羊 献 瑞
-——————
三 羊 生 瑞 气
其中,相同的汉字代表相同的数字,不同的汉字代表不同的数字。
请计算“三羊献瑞”四个字分别代表的数字
答案格式:CTF{xxxx},xxxx为“三羊献瑞”四个字分别代表的数字
1 | #设:祥=a,瑞=b,生=c,辉=d,三=e,羊=f,献=g,气=h |
速度爆破
1 | from urllib import request,parse |
for resquests:↓
1 | import requests,re |
ASCII艺术
1 | from urllib import request,parse |
for requests:↓
1 | import re,requests |
百米
1 | import re,requests |
求解!
密文xztiofwhf是用仿射函数y=5x+11加密得到的
1 | list = 'abcdefghijklmnopqrstuvwxyz' |
海量约瑟夫问题
1 | n=57109519409189850198608692898492839208109598203852985209815058928520938958906207207017014242749827958752975981705872782758927827398578971498749287481591758917982491 |
算术题
一道小学算术题,但是好多老师不会,不知道为什么
从外圈最小的开始顺时针旋转:6531031914842725
能看到吗
writeup:西普CTF-能看到吗
双基回文数
计算大于正整数1600000的最小双基回文数
别人的python2脚本
1 | #coding:utf-8 |
约瑟夫环
总共有2 * k个人报数,前面k个是好人,后面k个是坏人,从第一个好人开始报数,报道m的人要死去。然后从死人的下一个活人继续从头开始报数,报道m的人死去,以此类推。当k = 12时,问m为何值时,坏人全部死去之前不会有好人死去。
1 | 约瑟夫循环,我这里利用python的列表进行del删除,设第m个数死,则去掉的位置为 |
迷宫大逃亡
1 | # coding=utf-8 |
flag很坑,访问输出的url(去掉flagsiurl),题目的链接就是flag,格式CTF{}
小球下落
1 | a = [0 for x in range(65536)] |
普里姆路径
参考:西普CTF-普里姆路径
大数模运算
1 | for i in range(2,12345): |
Noise
参考:西普CTF-Noise
他的代码比较早了,下面给出我改过后的python3脚本,需要安装Pillow
库
1 | from PIL import Image |
聪明的打字员
传送门:BFS和DFS算法分析对比及优化
二叉树遍历
#
参考:西普CTF-两个最大子串和
1 | a=[-132,133,134,-11,12,-139,-140,62,63,-64,65,66,67, |