program balet;
uses
crt;
var
k, n, pc: integer;
var
pd: real;
begin
readln(n);
readln(k);
pd := (n - 3 * k) / 2;
pc := trunc(pd);
if (pd > pc) then
pc := pc + 1 ;
writeln(pc);
readln;
end.
Пояснения:
pc - целое число принятых
pd - дробное число принятых
Так как может возникнуть ситуация, что ровно треть мальчиков от всех учеников сделать не получиться, то используем приём со сравнением числа с дробной частью и без дробной части в числе. Если дробная часть есть, то прибавляем еще одного принятого, чтобы было чуть больше трети от всех.
Пример:
n=59
k=10
pd=14,5
pc=trunc(14,5)=14
{функция trunc полностью отбрасывает дробную часть (не округляет!)}
pd>pc?
Да!
Значит
pc=14+1=15
Считаем.
Если бы мы не добавили к pc единицу, то получилось бы:

А это немного не треть...
А так как мы добавили единицу, то получилось:

То что нам надо!
1 бит это самая маленькая информационная единица. Бит это значение 0 или 1.
Чтобы закодировать 2 возможных варианта, достаточно 1 бита.
Если нужно закодировать 3 варианта, то нужно будет уже 2 бита.
При чем 2 мя битами можно закодировать 3 варианта и даже 4.
Количество исходов, или символов которые можно закодировать определяется по формуле: 2 в степени х = количество исходов.
где Х - количество Бит.
Так 2^5 = 32 - - - значит 5 битами можно закодировать 32 символа и менее.
2^6=64 - - - 6 ю битами можно закодировать 64 символа и менее.
Значит от вет будет 6 бит