Я, в основном, программы на С++ пишу, но из школы про Паскаль кое-что помню (в смысле, попытаюсь написать на Паскале).
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.
В цикле происходит переприсваивание элементу массива B[i] значения элемента массива B[j], где i меняется от 1 до 20, а j вычисляется по формуле ЦелаяЧасть ( (i+5)/3 ) + 1.
Эта формула порождает значения 3, 3, 3, 4, 4, 4, ... 8, 8, 8, 9, 9
Будут получены шесть троек значений 3, 4, 5, ... 8 и одна пара значений 9.
При этом i пробежит 10 четных значений 2, 4, 6, ...20 и для i=4 будет получено j=4, т.е. этот элемент не изменит значения.
Следовательно, свои значения изменят <u>9</u> четных элементов.
Операционка устонавливается на локальный диск с
1) Нам нужно число больше - 77, то возможно это число 78 или больше...
2) Переведем 78 в двоичную систему счисления:
78 = 1001110;
3) Проверим число, так как число "1001110" - это результат алгоритма, то делаем все в обратном порядке, а именно убираем два разряда с права:
1001110 = 10011;
4) Переводим это число в десятичную систему счисления:
10011=19;
Ответ: 19.