Не очень понял что именно от тебя хотят.Но если все действия происходят в Паскаль, то задача на оператор ветвления.А вот и сама программа на всякий случай: Program Proverka; uses CRT; var x:real; Begin clrscr; writeln ('Введите X'); readln (x); IF x<0 then writeln ('Отрицательное число x=' , x:5:2) Else Begin IF x>0 then writeln ('Положительное число x=' , x:5:2) Else writeln ('Вы выбрали неверное значение'); End; readln; End.
Проанализируем алгоритм. Правило а) добавляет справа нуль при четном количестве единиц или единицу при нечетном. Правило б) делает то же самое, но с учетом правила а) количество единиц всегда будет четным, поэтому всегда будет добавляться ноль. Подытоживая, можно утверждать, что к числу будут дописаны справа: - 10 (при нечетном количестве остальных единиц); - 00 (при четном количестве единиц). Минимальным числом R, которое превышает 43, является число 44. Получим его двоичную запись. 44 / 2 = 22, остаток 0 22 / 2 = 11, остаток 0 11 / 2 = 5, остаток 1 5 / 2 = 2, остаток 1 2 / 2 = 1, остаток 0 Записываем частное (оно всегда единица!) и приписываем к нему остатки в обратном порядке. 44₁₀ = 101100₂ Отделяем два последних разряда: 1011 00 Строим для части 1011 разряды по алгоритму. Единиц три, следовательно надо приписать 10. Получаем 101110₂ Переведем его в десятичную систему. 101110₂ = 1х2⁵+0х2⁴+1х2³+1х2²+1х2¹+0х2⁰=32+8+4+2=46₁₀
Program Proverka;
uses CRT;
var x:real;
Begin
clrscr;
writeln ('Введите X');
readln (x);
IF x<0 then
writeln ('Отрицательное число x=' , x:5:2) Else
Begin
IF x>0 then
writeln ('Положительное число x=' , x:5:2) Else
writeln ('Вы выбрали неверное значение'); End;
readln;
End.
Подытоживая, можно утверждать, что к числу будут дописаны справа:
- 10 (при нечетном количестве остальных единиц);
- 00 (при четном количестве единиц).
Минимальным числом R, которое превышает 43, является число 44. Получим его двоичную запись.
44 / 2 = 22, остаток 0
22 / 2 = 11, остаток 0
11 / 2 = 5, остаток 1
5 / 2 = 2, остаток 1
2 / 2 = 1, остаток 0
Записываем частное (оно всегда единица!) и приписываем к нему остатки в обратном порядке.
44₁₀ = 101100₂
Отделяем два последних разряда: 1011 00
Строим для части 1011 разряды по алгоритму.
Единиц три, следовательно надо приписать 10.
Получаем 101110₂
Переведем его в десятичную систему.
101110₂ = 1х2⁵+0х2⁴+1х2³+1х2²+1х2¹+0х2⁰=32+8+4+2=46₁₀
ответ: R=46