)даны три четырехзначных,целых числа.нужно вывести число с наименьшей суммой цифр. скиньте решение в паскале) заранее )

sssmith sssmith    3   25.09.2019 02:30    0

Ответы
мухтар112 мухтар112  10.09.2020 16:33
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. Отрицательные числа тоже допустимы.
ПОКАЗАТЬ ОТВЕТЫ
Ханоглан122 Ханоглан122  10.09.2020 16:33
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 s<min then begin i_min:=i; min:=s; end; {если сумма меньше текущего значения минимума, то считать эту сумму минимальной и запомнить в i_min номер текущего числа}
end;
writeln(x[i_min]); {вывести число с номером i_min как число с минимальной суммой его цифр}
end.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика