Помогите,пожалуйста) Даны три четырехзначных,целых числа.Нужно вывести число с наименьшей...

0 голосов
69 просмотров

Помогите,пожалуйста)
Даны три четырехзначных,целых числа.Нужно вывести число с наименьшей суммой цифр.
Скиньте решение в паскале)
Заранее спасибо)


Информатика (32 баллов) | 69 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
PascalABC.NET 3.3.5, сборка 1662 от 29.04.2018
Внимание! Если программа не работает, обновите версию!

function SumDigs(n:integer):integer;
begin
  n:=Abs(n); // от отрицательных чисел
  Result:=n mod 10;
  while n>0 do begin
    n:=n div 10;
    Result+=n mod 10
    end
end;

begin
  var a:=ReadArrInteger(3);
  Writeln(a[a.Select(t->SumDigs(t)).ToArray.IndexMin])
end.

Пример
1843 9012 8562
9012

Замечание: число цифр в числе может быть от 1 до 9. Отрицательные числа тоже допустимы.
(150k баллов)
0 голосов

Program z;
var x:array[1..3] of integer;
s,min,i_min,i:integer;
begin
min:=37;{начальное значение минимальной суммы выбрать больше самого большого из 4х-значных чисел 9999, т.е. 9+9+9+9=36}
for i:=1 to 3 do 
begin
readln(x[i]); {ввести очередное число}
s:=x[1] mod 10 + x[i] div 10 mod 10 + x[i] div 100 mod 10 + x[i] div 1000;
{считаем сумму цифр}
if send;
writeln(x[i_min]); {вывести число с номером i_min как число с минимальной суммой его цифр}
end.

(1.2k баллов)