Запишем 32-значное двоичное число без лишних знаков. При необходимости добавляем ведущие нули
"00100110101101110000111110110110"
Разделим на 4 группы по 8 цифр и переведем их в 10ричную сс
00100110{2} = 38{10}
10110111{2} = 183{10}
00001111{2} = 15{10}
10110110{2} = 182{10}
IP = 38.183.15.182
var
x,a, b: integer;
begin
readln (x);
a:= x div 10;
b:= x mod 10;
writeln ('сумма=', a+b);
writeln( ' произведение =', a*b);
end.
Оба искомых числа должны лежать в промежутке от 36 (100 в 6-ричной записи) и 215 (555 в 6-ричной записи) и давать в сумме 259 (1111 в 6-ричной записи), т.е., a+b=259 => a=259-b,
Минимальное а, для которого все эти условия выполняются, равно 44, при b=215.
Очевидно, что остальные пары выглядят так: (45, 214), (46, 213), ... (215, 44), таких пар будет 172. Поскольку пары, отличающиеся только порядком, мы считаем за одну, значит делим на 2: 172/2 = 86.
Ответ 86
* сходится с вашим ответом :)
По алгоритмам? Ну на тебе несколько из разных тем.
1) Написать программу для машины Тьюринга, выполняющую сортировку 0 и 1 в двоичном слове.
2) В виде нормального алгоритма (Маркова) реализовать алгоритм сложения целых чисел, заданных в троичной симметричной системе счисления.
3) Проверить разрешимость множества всех простых чисел.
4) Доказать, что класс всех полуразрешимых подмножеств N совпадает с классом всех перечислимых подмножеств N.
Ну и т. д.
Собственно списки (точнее, книги с задачами), например, эти:
1) Дасгупта, Пападимитриу, Вазирани - Алгоритмы.
2) Кормен, Лейзерсон, Штайн - Алгоритмы построение и анализ.
Pascal конечно!, это самый простой язык, и нужен он в основном для исчислений, так что ответ A