2

我应该破解凯撒密码。我必须声明一个函数crack : int * int -> int,以便如果(k, c)是类型intk解密文本和c加密文本在哪里,调用将返回crack(k, c)密钥 (mod 10) n,这是获取. 一个例子是调用将返回 4。ckcrack(20458790, 64892134)

如果c不是 的正确编码k,则该函数不必实际工作。

我希望我在这里足够清楚。我了解这里的实际分配(我有 k 和 c,我需要 n),但我不知道如何在我的代码中显示它。

4

1 回答 1

1

您没有指定当第二个数字不是第一个数字的凯撒编码时应该发生什么,所以我假设这无关紧要。

所以为了得到,你只需要从第一个数字中取出任何数字(最方便的是最后一个数字),然后从第二个数字相同位置的数字中减去它。

换句话说,你可以这样做: (c mod 10 - k mod 10) mod 10

于 2010-09-19T10:33:33.247 回答