Заполняем таблицу:
Число -> Источники (из каких чисел можно получить текущее) -> Количество получения числа.
Число 3 можно получить только одним из числа 3 с "пустой" программы.
Число 4 - из числа
Число 5- из числа
Число 6 - из числа и из числа Всего
Число 7 - из числа и из числа Всего
Некоторые варианты выбрасываем:
Число 11 - только из числа
Число 13 - только из числа
Выбрасываем также варианты, которые проходят "мимо" числа 15, например 12-13-16 или 13-14-17
Итого получаем для числа 20 (см.таблицу)
ответ: 16
1-й
Переводим 191 в двоичную систему:
Выполняем команды:
1. 10111111 -> 01011111
1. 01011111 -> 00101111
2. 00101111 + 100 = 00110011
1. 00110011 -> 00011001
1. 00011001 -> 00001100
2. 00001100 + 100 = 00010000
Переводим результат в десятичную систему:
2-й
Сдвиг на один разряд вправо в двоичной системе означает целочисельное деление на 2 (остаток отбрасываем). Выполняем команды:
1. 191 : 2 --> 95
1. 95 : 2 --> 47
2. 47 + 4 = 51
1. 51 : 2 --> 25
1. 25 : 2 --> 12
2. 12 + 4 = 16
Поделитесь своими знаниями, ответьте на вопрос:
1. дано натуральное число. верно ли, что сумма его цифр есть четное число, а само число не превышает b? 2. дано натуральное число. верно ли, что сумма его цифр больше m а само число делится на n?
var
n,b,s:integer;
begin
Write('Введите натуральное число и значение b: ');
Read(n,b);
if n>b then Writeln('Неверно')
else begin
s:=0;
while n>0 do begin
s:=s+n mod 10;
n:=n div 10
end;
if s mod 2=0 then Writeln('Верно') else Writeln('Неверно')
end
end.
Программа для 2.
var
k,m,n,b,s:integer;
begin
Write('Введите натуральное число и значения m,n: ');
Read(k,m,n);
if k mod n <> 0 then Writeln('Неверно')
else begin
s:=0;
while k>0 do begin
s:=s+k mod 10;
k:=k div 10
end;
if s>m then Writeln('Верно') else Writeln('Неверно')
end
end.