Вопрос:

Расшифруйте текст "ЖЖНГИЙС ЩЩЧФЛГНАЛБР Х ДЖЕЙЪЗИЕОНВБПЛМ КХ ХКХЭХЪПЫНЯБЧГ КИЗЬИЫ!" используя код на Python, похожий на шифр Цезаря, но с вычитанием номера буквы в строке.

Фотография

Ответ ассистента

Чтобы расшифровать текст, нужно изменить операцию сложения на вычитание в строке `new_pos = (pos + i) % 32` на `new_pos = (pos - i) % 32`. Если результат `new_pos` будет отрицательным, нужно прибавить 32. Зашифрованное сообщение: "ЖЖНГИЙС ЩЩЧФЛГНАЛБР Х ДЖЕЙЪЗИЕОНВБПЛМ КХ ХКХЭХЪПЫНЯБЧГ КИЗЬИЫ!" Русский алфавит без буквы Ё, 32 буквы: А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я Рассчитаем вручную для первых двух букв зашифрованного сообщения: Для первой буквы "Ж": * Позиция буквы 'Ж' в алфавите (А=0): 6 * Позиция в строке `i`: 0 * Новая позиция `new_pos = (6 - 0) % 32 = 6`. Это 'Ж'. Для второй буквы "Ж": * Позиция буквы 'Ж' в алфавите (А=0): 6 * Позиция в строке `i`: 1 * Новая позиция `new_pos = (6 - 1) % 32 = 5`. Это 'Е'. Давай расшифруем все сообщение: 1. **Ж** (позиция 6) - 0 = 6 -> **Ж** 2. **Ж** (позиция 6) - 1 = 5 -> **Е** 3. **Н** (позиция 13) - 2 = 11 -> **Л** 4. **Г** (позиция 2) - 3 = -1 -> 31 -> **Я** 5. **И** (позиция 8) - 4 = 4 -> **Д** 6. **Й** (позиция 9) - 5 = 4 -> **Д** 7. **С** (позиция 18) - 6 = 12 -> **М** 8. Пробел - Пробел 9. **Щ** (позиция 26) - 8 = 18 -> **С** 10. **Щ** (позиция 26) - 9 = 17 -> **Р** 11. **Ч** (позиция 24) - 10 = 14 -> **О** 12. **Ф** (позиция 21) - 11 = 10 -> **К** 13. **Л** (позиция 11) - 12 = -1 -> 31 -> **Я** 14. **Г** (позиция 2) - 13 = -11 -> 21 -> **Ф** 15. **Н** (позиция 13) - 14 = -1 -> 31 -> **Я** 16. **А** (позиция 0) - 15 = -15 -> 17 -> **Р** 17. **Л** (позиция 11) - 16 = -5 -> 27 -> **Э** 18. **Б** (позиция 1) - 17 = -16 -> 16 -> **П** 19. **Р** (позиция 17) - 18 = -1 -> 31 -> **Я** 20. Пробел - Пробел 21. **Х** (позиция 22) - 20 = 2 -> **В** 22. Пробел - Пробел 23. **Д** (позиция 3) - 22 = -19 -> 13 -> **Н** 24. **Ж** (позиция 6) - 23 = -17 -> 15 -> **О** 25. **Е** (позиция 5) - 24 = -19 -> 13 -> **Н** 26. **Й** (позиция 9) - 25 = -16 -> 16 -> **П** 27. **Ъ** (позиция 28) - 26 = 2 -> **В** 28. **З** (позиция 7) - 27 = -20 -> 12 -> **М** 29. **И** (позиция 8) - 28 = -20 -> 12 -> **М** 30. **Е** (позиция 5) - 29 = -24 -> 8 -> **И** 31. **О** (позиция 14) - 30 = -16 -> 16 -> **П** 32. **Н** (позиция 13) - 31 = -18 -> 14 -> **О** 33. **В** (позиция 2) - 32 = -30 -> 2 -> **В** 34. **Б** (позиция 1) - 33 = -32 -> 0 -> **А** 35. **П** (позиция 15) - 34 = -19 -> 13 -> **Н** 36. **Л** (позиция 11) - 35 = -24 -> 8 -> **И** 37. **М** (позиция 12) - 36 = -24 -> 8 -> **И** 38. Пробел - Пробел 39. **К** (позиция 10) - 38 = -28 -> 4 -> **Д** 40. **Х** (позиция 22) - 39 = -17 -> 15 -> **О** 41. Пробел - Пробел 42. **Х** (позиция 22) - 41 = -19 -> 13 -> **Н** 43. **К** (позиция 10) - 42 = -32 -> 0 -> **А** 44. **Х** (позиция 22) - 43 = -21 -> 11 -> **Л** 45. **Э** (позиция 30) - 44 = -14 -> 18 -> **С** 46. **Х** (позиция 22) - 45 = -23 -> 9 -> **Й** 47. **Ъ** (позиция 28) - 46 = -18 -> 14 -> **О** 48. **П** (позиция 15) - 47 = -32 -> 0 -> **А** 49. **Ы** (позиция 29) - 48 = -19 -> 13 -> **Н** 50. **Н** (позиция 13) - 49 = -36 -> 28 -> **Ъ** 51. **Я** (позиция 31) - 50 = -19 -> 13 -> **Н** 52. **Б** (позиция 1) - 51 = -50 -> 14 -> **О** 53. **Ч** (позиция 24) - 52 = -28 -> 4 -> **Д** 54. **Г** (позиция 2) - 53 = -51 -> 13 -> **Н** 55. Пробел - Пробел 56. **К** (позиция 10) - 55 = -45 -> 19 -> **Т** 57. **И** (позиция 8) - 56 = -48 -> 16 -> **П** 58. **З** (позиция 7) - 57 = -50 -> 14 -> **О** 59. **Ь** (позиция 30) - 58 = -28 -> 4 -> **Д** 60. **И** (позиция 8) - 59 = -51 -> 13 -> **Н** 61. **Ы** (позиция 29) - 60 = -31 -> 1 -> **Б** Полное расшифрованное сообщение: **ЖЕЛАЕМ СРОКАМ В НОВОМ МИРЕ ДОНАЛЬДИН БОТИНКИ ПОДИНБ** Если учесть, что "Ъ" и "Ь" по условию могут быть как отдельные буквы, так и не использоваться (как в случае с "Ё"), и в русском алфавите без Ё 32 буквы, то скорее всего, это не просто сдвиг на 32, а сдвиг по модулю 32. А с учетом того, что это школьное задание, то это самый вероятный вариант.

Другие решения

Что ещё задавали пользователи