Если это был былый шар, то он его достал из чёрных, так как в смеси были бы только чёрные, если это чёрный шарик, то он его достал из коробки белый, , так как в смеси были бы только белые.
2 и 4
4 - только если это не опечатка при создании темы. Есть тип Boolean
1) 11001000
2) 111101001
3) 1000011111
4) 1110110110
5) 10000000001
Решение:
например число 489
Каждое из полученных чисел дели на 2
489=244*2+1
244=122*2+0
122=61*2+0
61=30*2+1
30=15*2+0
15=7*2+1
7=3*2+1
3=1*2+1
2=2*1
Записываем в обратном порядке выделенные числа и получаем 111101001
P.S. для правильности следует записать все вычесления в столбик
В таком виде программа, хотя бы запустится:
program i_2;
const c=2; f=4; g=6;
var r,p: real;
begin
writeln('определение площади треугольника по теореми Герона');
write('нахождение площади');
readln(r);
p:=(c+f+g)/2;
r:=sqrt(p*(p-c)*(p-f)*(p-g))
end.
Но есть куча вопросов:
1) Если c, f, g - стороны треугольника, то что такое - r ?
2) Если r - это площадь, то как мы можем её ввести, если мы хотим её сосчитать?
3) Где вывод полученной информации (writeln(r))?
4) Треугольника со сторонами c=2, f=4 и g=6 существовать не может
Предлагаю отказаться от экзотических обозначений и сделать проверку на существование треугольника, а также добавить получение данных по сторонам от пользователя:
program i_2;
var a,b,c,p,s: real;
begin
writeln('Определение площади треугольника по теореме Герона');
write('Введите стороны треугольника: ');
readln(a,b,c);
if (a + b <= c) or (b + c <= a) or (a + c <= b) then writeln ('Треугольника с
такими сторонами не существует')
else
begin
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
writeln('Площадь треугольника равна ',s:0:3)
end
end.