第七周

这周我学了一点编程题还有密码题,自从上学期课程有上过C语言以后,很久没接触过编程了。

先看第一道题


这道题我用了三种方法来做,我这里用的是C语言,因为我暂时只有学过C语言,其他的编程语言还没学过

方法一:用for循环实现,代码如下:


方法二:用while语句,代码如下:


方法三:用递归法,代码如下


三种方法的结果都如下图所示:


再看一道密码题:


首先看到题目给的东西,就知道题目给的是摩斯密码,然后用解码软件CTFcracker解摩斯密码得到


然后根据题目说的“QWE到底等不等于ABC?”想到密码替换,这里可以自己写个程序替换回来,也可以根据QWE加密表来解密


解密出来得到rhasbenvaoylii,根据题目围在栅栏中的爱,能想到进行栅栏解密,得到


题目中提到“爱”字,第一栏反过来念刚好就是iloveshiyanbar,试着提交,发现这就是flag,这道题还是需要一点小小的脑筋急转弯。

知识点总结:

(1)栅栏密码:

所谓栅栏密码,就是把明文分成N个组,然后取出每组的第一个,每组的第二个。。接着按顺序排列得出密文。若每个组里有2两个元素的话就叫2栏栅栏密码。

(2)替代密码:

替代密码是指先建立一个替换表,加密时将需要加密的明文依次通过查表,替换为相应的字符,明文字符被逐个替换后,生成无任何意义的字符串,即密文,替代密码的密钥就是其替换表 。


(3)摩斯密码

摩尔斯电码(又译为摩斯密码,Morse code)是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。就类似题目给的一样。

你可能感兴趣的:(第七周)