Перед тобой квадратная таблица с зашифрованным предложением. Чтобы его расшифровать, понадобится трафарет. Если наложить трафарет на таблицу, то в открытых клетках ты прочтёшь слово. Поверни трафарет мысленно по часовой стрелке — откроется новое слово. В итоге ты получишь четыре слова предложения. Чтобы зашифровать послание, нужно наложить трафарет на пустую таблицу, записать буквы в клетки, повернуть трафарет — и продолжать, пока свободные клетки не закончатся. Затем убрать трафарет и заполнить пустые клетки таблицы случайными буквами. Шифровальщики называют этот мусор «соль». Сообщение готово! Теперь, когда ты знаешь принцип шифровки и дешифровки, попробуй ответить на вопрос задания.
Единственная система счисления которая имеет на борту только "1" и "0" - это двоичная система счисления ...
Перевод выполняется таким образом : каждая цифра двоичного числа умножается на 2 , которая возводиться в степень по индексу числа , тоесть имеем число 101 - для перевода необходимо : 1*2^2 + 0*2^1 + 1*2^0 = 4+0+1(т.к любое число в нулевой степени равно 1 , даже 0^0) , = 5 - это ответ уже в 10-тичной сс.
Ещё пример, возьмём число 1010. Переведём его в десятичную сс = 1*2^3+0*2^2+1*2^1+0*2^0 = 10 ...
Граматика : 2^3 - переводиться как 2 в 3 степени.Решаем твою задачу, имея на экране теорию ..
10100 детей - закодировано в 2-чной сс , выполним перевод в 10-чную сс = 1*2^4+(пропускаем нули, их умножать бесполезно)+1*2^2 ... (остальное нули) = 16+4 = 20 детей в классе
Считаем колличество мальчиков в классе - 1100 - это 1*2^3+1*2^2 = 12 - вот столько мальчиков
Вычитаем из общего колличества детей колличество мальчиков , получаем = 20-12 = 8;
program parampampam; uses crt; var i: integer; {счетчик} s: integer; begin clrscr; {очистка экрана} writeln ('Программа выводит числа от 1 до 99, сумма цифр которых равна числу S'); writeln ('Введите число S, от 0 до 18: '); {ввод числа S с проверкой на корректность} repeat readln (s); if (s>18) or (s<0) then writeln ('Неверный ввод. Повторите') until (s<=18) and (s>=0); {вывод нужных чисел на экран (цикл с предусловием)} for i := 1 to 99 do if ((i div 10) + (i mod 10) = s) then {div дает целую часть, mod - остаток от деления} write (i, ' '); repeat until keypressed; {пустой цикл для задержки экрана до нажатия клавиши} end.
Единственная система счисления которая имеет на борту только "1" и "0" - это двоичная система счисления ...
Перевод выполняется таким образом : каждая цифра двоичного числа умножается на 2 , которая возводиться в степень по индексу числа , тоесть имеем число 101 - для перевода необходимо : 1*2^2 + 0*2^1 + 1*2^0 = 4+0+1(т.к любое число в нулевой степени равно 1 , даже 0^0) , = 5 - это ответ уже в 10-тичной сс.
Ещё пример, возьмём число 1010. Переведём его в десятичную сс = 1*2^3+0*2^2+1*2^1+0*2^0 = 10 ...
Граматика : 2^3 - переводиться как 2 в 3 степени.Решаем твою задачу, имея на экране теорию ..10100 детей - закодировано в 2-чной сс , выполним перевод в 10-чную сс = 1*2^4+(пропускаем нули, их умножать бесполезно)+1*2^2 ... (остальное нули) = 16+4 = 20 детей в классе
Считаем колличество мальчиков в классе - 1100 - это 1*2^3+1*2^2 = 12 - вот столько мальчиков
Вычитаем из общего колличества детей колличество мальчиков , получаем = 20-12 = 8;
ответ: 8.uses crt;
var
i: integer; {счетчик}
s: integer;
begin
clrscr; {очистка экрана}
writeln ('Программа выводит числа от 1 до 99, сумма цифр которых равна числу S');
writeln ('Введите число S, от 0 до 18: ');
{ввод числа S с проверкой на корректность}
repeat
readln (s);
if (s>18) or (s<0) then
writeln ('Неверный ввод. Повторите')
until (s<=18) and (s>=0);
{вывод нужных чисел на экран (цикл с предусловием)}
for i := 1 to 99 do
if ((i div 10) + (i mod 10) = s) then {div дает целую часть, mod - остаток от деления}
write (i, ' ');
repeat until keypressed; {пустой цикл для задержки экрана до нажатия клавиши}
end.