Напишите программу, которая будет считать количество четных чисел из пяти целых чисел вводимых с клавиатуры. (Используется условие: остаток от деления на 2 четного числа равен 0).
Как говорится, это вам не С++ - тут все очень быстро и коротко
// PascalABC.NET 3.3, сборка 1531 от 30.08.2017 // Внимание! Если программа не работает, обновите версию!
begin var L:=new List<(string,real)>; // это не решение задачи, это ввод данных Writeln('Введите в каждой строке фамилию, пробел, время'); var i:=1; repeat var s:=ReadlnString(i+': '); if s[1]='*' then break; var w:=s.ToWords; L.Add(Rec(w[0],real.Parse(w[1]))); i+=1; until false; // а теперь само решение Writeln(L.MinBy(x->x[1])) end.
Пример Введите в каждой строке фамилию, пробел, время 1: Иванов 10.3 2: Петров 9.9 3: Уточкин 10.1 4: * (Петров,9.9)
Из точки А в точку Б только 1 путь, поэтому Б будет равно 1
Из точки А в точку Г только 1 путь, поэтому Б будет равно 1
В точку В можно добраться из А(=1), Б(=1) и Г(=1), поэтому В будет равно 3
В точку Д можно добраться из Б(=1), В(=3), поэтому Д будет равно 4
В точку Е можно добраться из В(=3) и Г(=1), поэтому Е будет равно 4
В точку Ж можно добраться из Е(=4) и Г(=1), поэтому Ж будет равно 5
В точку З можно добраться из Д(=4), Е(=4) и Ж(=5), поэтому З будет равно 13
В данном типе задач главное не потеряться среди этих дорог и не забывать, что начальная точка (в данном случае А) всегда равна 1 (если не даны другие данные, конечно же)
// PascalABC.NET 3.3, сборка 1531 от 30.08.2017
// Внимание! Если программа не работает, обновите версию!
begin
var L:=new List<(string,real)>;
// это не решение задачи, это ввод данных
Writeln('Введите в каждой строке фамилию, пробел, время');
var i:=1;
repeat
var s:=ReadlnString(i+': ');
if s[1]='*' then break;
var w:=s.ToWords;
L.Add(Rec(w[0],real.Parse(w[1])));
i+=1;
until false;
// а теперь само решение
Writeln(L.MinBy(x->x[1]))
end.
Пример
Введите в каждой строке фамилию, пробел, время
1: Иванов 10.3
2: Петров 9.9
3: Уточкин 10.1
4: *
(Петров,9.9)
13
Объяснение:
По умолчанию, начальная точка равна 1 (точка А)
Из точки А в точку Б только 1 путь, поэтому Б будет равно 1
Из точки А в точку Г только 1 путь, поэтому Б будет равно 1
В точку В можно добраться из А(=1), Б(=1) и Г(=1), поэтому В будет равно 3
В точку Д можно добраться из Б(=1), В(=3), поэтому Д будет равно 4
В точку Е можно добраться из В(=3) и Г(=1), поэтому Е будет равно 4
В точку Ж можно добраться из Е(=4) и Г(=1), поэтому Ж будет равно 5
В точку З можно добраться из Д(=4), Е(=4) и Ж(=5), поэтому З будет равно 13
В данном типе задач главное не потеряться среди этих дорог и не забывать, что начальная точка (в данном случае А) всегда равна 1 (если не даны другие данные, конечно же)
Надеюсь , удачи!