Задача на линейную динамику. Требуется построить таблицу, которая покажет, сколько получить из числа 1 каждое число до 30. При этом учесть, что траекторий проходит через 14. Все числа после 14, должны быть получены из него. Отсюда и получается, что получить нечетное число большее 14 нет. А кол-вол получить четные числа большие 14 и меньшие 28 равны кол-ву получить число 14. Кол-во получить число 28 удваивается, потому что число 28 можно получить как из 26, так и из 14.
// PascalABC.NET 3.2, сборка 1403 от 16.03.2017 // Внимание! Если программа не работает, обновите версию!
function SumDigits(n:integer):integer; begin Result:=0; while n>0 do begin Result+=n mod 10; n:=n div 10 end end;
begin var s:=ReadArrInteger('Вводите:',3).Select(x->SumDigits(x)).ToArray; var i:=s.IndexMax; var k:=s.Where(x->x=s[i]).Count; case k of 1:begin Write('Сумма цифр наибольшая у '); case i of 0:Write('первого'); 1:Write('второго'); 2:Write('третьего'); end; Writeln(' числа') end; 2:begin Write('Сумма цифр наибольшая у '); if s[0]=s[1] then Writeln('первого и второго чисел') else if s[0]=s[2] then Writeln('первого и третьего чисел') else Writeln('второго и третьего чисел') end; 3:Writeln('Суммы цифр у всех трех чисел равны') end end.
Примеры Вводите: 102030 324 19 Сумма цифр наибольшая у третьего числа
Вводите: 16453 4320 56341 Сумма цифр наибольшая у первого и третьего чисел
Вводите: 12345 12354 54321 Суммы цифр у всех трех чисел равны
20
Объяснение:
Задача на линейную динамику. Требуется построить таблицу, которая покажет, сколько получить из числа 1 каждое число до 30. При этом учесть, что траекторий проходит через 14. Все числа после 14, должны быть получены из него. Отсюда и получается, что получить нечетное число большее 14 нет. А кол-вол получить четные числа большие 14 и меньшие 28 равны кол-ву получить число 14. Кол-во получить число 28 удваивается, потому что число 28 можно получить как из 26, так и из 14.
Таблицу прикрепил.