Пользователь последовательно вводит число учеников в каждом из 10-ти классов. напиши программу которая посчитает и выведет суммарное число обучающихся . python заранее
Var n, amount, max_digit, copy_of_n: integer; begin read(n); copy_of_n := n; amount := 0; max_digit := copy_of_n mod 10; while copy_of_n <> 0 do begin {Находим наибольшую цифру в числе} if max_digit < copy_of_n mod 10 then max_digit := copy_of_n mod 10; copy_of_n := copy_of_n div 10; end; copy_of_n := n; while copy_of_n <> 0 do {Считаем количество таких цифр} begin if copy_of_n mod 10 = max_digit then amount := amount + 1; copy_of_n := copy_of_n div 10; end; writeln(amount); end.
Напишу как я понял. Лучше, конечно, нарисовать. Так понятнее. Но постараюсь объяснить получше.
Итак. У нас есть точки, между которыми есть расстояние: А -> Б = 80 км Б -> С = 50 км C -> Д = 10 км (честно говоря, не пойму, зачем тут вообще нужно это расстояние)
Также есть трасса: А => С = 40 км
До точки Б можно доехать двумя путями: 1) от А до Б по грунтовой дороге 2) от А до С по трассе, а затем от С до Б по грунтовой В первом случае мы имеем расстояние 80 км и скорость 20 км/ч. Времени на это уйдет = 4 часа. Во втором случае имеем расстояние от А до С = 40 км и скорость 40 км/ч плюс расстояние от С до Б равное 50 км и скорость 20 км/ч. Складывая время на двух этих участках (1 час + 2.5 часа) , получаем время = 3.5 часа.
Таким образом, минимальное возможное время движения велосипедиста из пункта А в пункт Б равняется 3.5 часам при условии, что он будет ехать сначала 40 км по трассе от А до Б, а затем по грунтовой дороге 50 км от С до Б.
begin
read(n);
copy_of_n := n;
amount := 0;
max_digit := copy_of_n mod 10;
while copy_of_n <> 0 do
begin {Находим наибольшую цифру в числе}
if max_digit < copy_of_n mod 10
then
max_digit := copy_of_n mod 10;
copy_of_n := copy_of_n div 10;
end;
copy_of_n := n;
while copy_of_n <> 0 do {Считаем количество таких цифр}
begin
if copy_of_n mod 10 = max_digit
then
amount := amount + 1;
copy_of_n := copy_of_n div 10;
end;
writeln(amount);
end.
Итак. У нас есть точки, между которыми есть расстояние:
А -> Б = 80 км
Б -> С = 50 км
C -> Д = 10 км (честно говоря, не пойму, зачем тут вообще нужно это расстояние)
Также есть трасса:
А => С = 40 км
До точки Б можно доехать двумя путями:
1) от А до Б по грунтовой дороге
2) от А до С по трассе, а затем от С до Б по грунтовой
В первом случае мы имеем расстояние 80 км и скорость 20 км/ч. Времени на это уйдет = 4 часа.
Во втором случае имеем расстояние от А до С = 40 км и скорость 40 км/ч плюс расстояние от С до Б равное 50 км и скорость 20 км/ч. Складывая время на двух этих участках (1 час + 2.5 часа) , получаем время = 3.5 часа.
Таким образом, минимальное возможное время движения велосипедиста из пункта А в пункт Б равняется 3.5 часам при условии, что он будет ехать сначала 40 км по трассе от А до Б, а затем по грунтовой дороге 50 км от С до Б.
Думаю, так.