В балетной школе приближается новый учебный год.

+196 голосов
3.3m просмотров

В балетной школе приближается новый учебный год.


image

Информатика (39 баллов) | 3.3m просмотров
Дан 1 ответ
+59 голосов

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 единицу, то получилось бы:

image

А это немного не треть...

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

image

То что нам надо!

(1.1k баллов)