Даны 3 числа , задаваемые с клавиатуры . числа от 2 до 5 увеличить в 3 раза , от 6 до 8 возвести в квадрат , остальные числа увеличить на 10 . все диапазоны включительные .
Так как может возникнуть ситуация, что ровно треть мальчиков от всех учеников сделать не получиться, то используем приём со сравнением числа с дробной частью и без дробной части в числе. Если дробная часть есть, то прибавляем еще одного принятого, чтобы было чуть больше трети от всех.
Пример:
n=59
k=10
pd=14,5
pc=trunc(14,5)=14
{функция trunc полностью отбрасывает дробную часть (не округляет!)}
pd>pc?
Да!
Значит
pc=14+1=15
Считаем.
Если бы мы не добавили к pc единицу, то получилось бы:
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 единицу, то получилось бы:
А это немного не треть...
А так как мы добавили единицу, то получилось:
То что нам надо!
ответ A:
i = 0
n = int(input("Введите число: "))
while n != 0:
if n % 3 == 0:
i += 1
n = int(input("Введите число: "))
print("ответ: {}".format(i))
ответ Б:
i = 0
n = int(input("Введите число: "))
while n != 0:
if (n % 10 == 3) and (n < 100 and n > 9):
i += 1
n = int(input("Введите число: "))
print("ответ: {}".format(i))
ответ C:
i = 0
n = int(input("Введите число: "))
max = n
while n != 0:
if n > max:
max = n
n = int(input("Введите число: "))
print("ответ: {}".format(max))