2023强网杯speedup

speedup

2d51f4f0817d4b0a870e67bb4759aaec.png

 

先分析这段代码,x等于2的27次方的阶乘。

通过一个while循环

res+=x%10是res=res+x%10。

x%10求出的是x的个位数。将x的个位数与原res相加到res中。x//=10为将x整除10,去掉原x的个位数后变为新的数继续运行while循环。最终得到的f(x)为x的位数相加。

所以函数f(x)的目的是计算x中的数字除以10的余数的总和。我们发现不能计算2的27次方的阶乘值,先从n=0开始计算得到1,2,6,9,63······发现为一个数列,我们进OEIS(在线整数数列查询网站),后搜索

8325b452a751493984a78e6370d2aa11.png

 

得到f(x)为4495662081然后使用sha哈希生成器得到值。

928ecb57f6f64187897ccd128754b62f.png

 得到的结果就为flag

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值