ellyb106786
?>

На языке программирования С++ составить программу, которая посчитает количество четных чисел на промежутке от 1 до 145.

Информатика

Ответы

Panda062000

ответ в прикрепленном файле

osnovnoisklad3551

Better late than never - Лучше поздно чем никогда

Объяснение:

Если четные и нечетные символы зашифрованы разными ключами, то вначале нужно привести их к одному ключу. Известно что разность между k1 и k2 составляет 3 символа. Значит нечетный ключ больше четного на 3. Например если для нечетных символов использовался сдвиг 5, то для четных будет использован сдвиг 2 (потому что 5-3=2).

Что бы привести фразу к одному ключу нужно все четные символы заменить на символы, стоящие на 3 позиции дальше по алфавиту.

W - не трогаем

W- меняем на Z

O - не трогаем

L - меняем на O

Z - не трогаем

I - меняем на L

G - не трогаем

S - меняем на V

O - не трогаем

W - меняем на Z

O - не трогаем

Z - меняем на C

V - не трогаем

F - меняем на I

I - не трогаем

W - меняем на Z

Q - не трогаем

W - меняем на Z

M - не трогаем

Получаем новую фразу:

W Z O O Z L G V O Z O C V I I Z Q Z M

где нечетные и четные символы зашифрованы одним и тем же ключом.

Поскольку в английском алфавите всего 26 букв, то число ключей составляет всего 25 штук, после чего они просто начнут повторятся.

Используя новую полученную фразу и английский алфавит пробуем заменить все буквы на следующие по порядку со сдвигом 1. Получаем текст

XAPPAMHWPAPDWJJARAN - бессмыслица. Тогда пробуем заменить текст со сдвигом на 2 буквы. получим фразу:

YBQQBNIXQBQEXKKBSBO - тоже не имеет смысла.

Сдвиг на 3 и на 4 буквы дает соответственно фразы

ZCRRCOJYRCRFYLLCTCP

ADSSDPKZSDSGZMMDUDQ

что тоже не имеет смысла.

Сдвиг на 5 символов дает фразу

BETTEQLATETHANNEVER - что очень похоже на английские слова (с одной ошибкой).

Делим полученную фразу на слова

BETTEQ LATE THAN NEVER

и приходим к выводу, что зашифровано было английское выражение

Better late than never - Лучше поздно чем никогда.

PS. Единственное, тут есть одна ошибка, вместо слова BETTER после расшифровки получаем слово BETTEQ. Не знаю чем это объяснить. В исходной фразе на этом месте стоит символ I. После приведения к одному коду на этом месте появляется символ L , который стоит на 3 позиции дальше от I. При расшифровке, вместо L получаем символ Q, который стоит на 5 символов дальше L и именно это Q попадает в слово BETTEQ. Скорее всего тут ошибка в условии задачи.

ievlevasnezhana7

Program Pr_1; {Заголовок программы Pr_1}

var {Раздел описаний}

a, b, c, alf, bet : real; {Переменные a, b, c, alf, bet - вещественные}

Begin {Тело программы}

Write('a='); {Вывод запроса на экран}

Read (a); {Ввод значения а с клавиатуры}

Write('b='); {Вывод запроса на экран}

Read (b); {Ввод значения b с клавиатуры}

c:=sqrt(a*a+b*b); {Вычисление гипотенузы с}

alf:=arctan(a/b); {Вычисление угла alf}

bet:=arctan(b/a); {Вычисление угла bet}

Writeln('c=',c:6:2); {Вывод ответа}

Writeln('Радианы'); {Вывод ответа: углы в радианах}

Writeln('alf=',alf:6:2,'bet=',bet:6:2);

End. {Конец программы}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

На языке программирования С++ составить программу, которая посчитает количество четных чисел на промежутке от 1 до 145.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

samiramoskva
alfaantonk
Винников724
Tselyaritskaya Yurevich
mmreznichenko
vasinam
Segyn1218
izumrud153
burtsev3339
archala
sse1105
Попов1946
Tanyamitia
ldstroy
dg9792794674