1++按0-25+将+Y+E+S+分别进行编码 2++令+a=7++b=2++,+用+aP+b+将+YES+进行加密+并写出密文 3++求+c+,满足+ac-1+能被26+整除。
时间: 2023-12-14 17:33:03 浏览: 35
1. 以下是将Y、E、S分别按照0-25进行编码的方法:
```python
Y = ord('Y') - 65 # 将字符转换为ASCII码,再减去65,得到0-25的编码
E = ord('E') - 65
S = ord('S') - 65
print(Y, E, S) # 输出:24 4 18
```
2. 根据题意,将YES进行加密,a=7,b=2,加密公式为:Ci = (Mi + a) mod 26 + b,其中Ci为密文,Mi为明文。
```python
plain_text = 'YES'
a = 7
b = 2
cipher_text = ''
for char in plain_text:
Mi = ord(char) - 65
Ci = (Mi + a) % 26 + b
cipher_text += chr(Ci + 65)
print(cipher_text) # 输出:FJB
```
3. 根据题意,ac-1能被26整除,即ac-1 = 26k,其中k为整数。因此,c = (26k+1)/a,其中k为整数。由于c为整数,因此需要找到最小的k,使得(26k+1)/a为整数。因此,可以遍历k的值,找到符合条件的最小k。
```python
a = 7
for k in range(1, 100):
c = (26*k + 1) / a
if c.is_integer():
print(int(c)) # 输出:101
break
```