На вход алгоритма подаётся натуральное число n. алгоритм строит по нему новое число r следующим образом. 1) строится двоичная запись числа n. 2) к этой записи дописывается справа бит чётности: 0, если в двоичном коде числа n было чётное число единиц, и 1, если нечётное. 3) к полученному результату дописывается ещё один бит чётности. полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа n) является двоичной записью искомого числа r. укажите минимальное число r, большее 121, которое может быть получено в результате работы этого алгоритма. в ответе это число запишите в десятичной системе
Я, в основном, программы на С++ пишу, но из школы про Паскаль кое-что помню (в смысле, попытаюсь написать на Паскале).
Program A1;
var a,b,c,i:integer;
begin
write('Enter the a: ');
read(a);
writeln('Enter the b: ');
read(b);
с:=0;
for i:=1 to a Do
c:=c+b;
writeln('a*b=',c:5:0);
end.
Объясняю (начинаю сразу с цикла for): что значит произведение двух натуральных чисел а и b - это означает, сложить b с самим собой по а раз (можно и наоборот). Например, a=5, b=3. Переменную с=0 будем складывать с b.
i=1 c=5+0;
i=2 c=5+5;
i=3 c=10+5; //c=15
Вот и есть ответ: 5*3=15.