7, 55296, 28311552, 683,59
Program ugadai;
uses crt;
var
i,z,o:integer;
begin
randomize;
writeln('Введите число от 0 до 99:');
z:=random(100);
for i:= 1 to 10 do
begin
read(o);
if (o = z) then
begin
writeln('Вы угадали!!!');
break;
end else begin
if (i = 10) then begin
writeln('Жалко,но число не отгаданно.Загаданное число было ', z);
end else begin
writeln('Упс! У вас еще ',10 - i,' попопыток. Введите число:');
end;
end;
end;
<span>end.</span>
Насколько я понял, нужно перевести из двоичной системы счисления в десятичную.
Обычно это делают, умножая цифру в каждом разряде на "вес" разряда, и складывая эти произведения (естественно, все вычисления делаются по правилам десятичной системы счисления).
Я специально не стал пропускать разряды, равные нулю, чтобы была понятнее суть вычислений при переводе:
А так, их конечно можно пропустить, но главное при этом не пропускать увеличение степени, в которую возводим двойку (она увеличивается на единицу с каждым разрядом в исходном числе). Вот вариант с пропуском нулевых разрядов:
Вариант решения на языке Python:
m = int(input())
if m % 4 == 0 :
k3 = 0
k4 = m // 4
elif m % 4 == 1 :
k3 = 3
k4 = (m-9) // 4
elif m % 4 == 2 :
k3 = 2
k4 = (m-6) // 4
elif m % 4 == 3 :
k3 = 1
k4 = (m-3) // 4
if m ==1 or m == 2 or m == 5 :
k3 = 0
k4 = 0
print(k3)
print(k4)
Для решения задачи рисуем круги Эйлера, обозначающие множества. Ответ во вложении