python在哪刷题_Python刷题|Do the Untwist

清明节后,忽然有点小忙了,刷题大业被无奈耽搁。

昨天,自家的服务器卡成翔,一顿操作,空间和连接资源优化一波,重启服务,呃,没啥效果。。。。。

蓦然发现有俩破JOB居然跑了两三天!

无奈打开系统资源管理监控,IO个位数M/s,磁盘一直是100%最长活动时间 ,什么鬼?IO这么低,磁盘君挂了吗??

最终只能祭出终极杀招:磁盘碎片整理,JOB杀掉。

看到IO上去了,占用下来了。叹口气,开始刷题

2、思路:加密,解密。按照加密规则推导下,然后基本就能知道反向操作的规则并推导出公式了。正向推导的作用是更好地理解规则,找出其中需要注意的点 ,比如,公式中 plaincode[k*i % n] - i 一定是小于28的,因为plaincode[]最大也就是plaincode['.'] = 27,但是plaincode[k*i % n] - i  会出现负数的情况,所以得到两种情况的公式:

if plaincode[k*i % n] - i >= 0 then plaincode[k*i % n] = ciphercode[i] + i

if plaincode[k*i % n] - i < 0 then plaincode[k*i % n] = ciphercode[i] + i - 28

合并一下,就是 :plaincode[k*i % n] = (ciphercode[i] + i)%28

剩下就是按照规则步骤反向操作了

ciphertext -> ciphercode -> plaincode -> plaintext

3、我的解答:

代码部分接受多行输入还未实现,有时间再调试,目前主要目标在算法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值