能不能说说这段代码的意思啊。特别是循环里面的

[复制链接]
查看11 | 回复2 | 2021-1-27 05:50:22 | 显示全部楼层 |阅读模式
#include
usingnamespacestd;
intmain(){
stringk,c;
cin>>k>>c;
for(inti=0;i0?c-t:c-t+26;
}
cout -->
回复

使用道具 举报

千问 | 2021-1-27 05:50:22 | 显示全部楼层
26字母循环啊。
回复

使用道具 举报

千问 | 2021-1-27 05:50:22 | 显示全部楼层
如果有数学基础就好理解
cin>>k>>c;//输入密钥,密文
for(inti=0;i0?c-t:c-t+26;//c%32和上面说的一样就是c这个字符对应的位置,-t就计算和k位置的相对距离
//如果相对距离大于0则取c-t为明文的字符(明文:行+密钥:列=密文,反过来就是明文=密文-密钥)
//就好比例子中密文'H'%32-(密钥'a'%32-1)=明文'H')
//如果距离小于0,则结果再加上26(相当于字母多轮一圈转回来)
}
cout
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行