Необходимо реализовать процедуру sum(k,c,s), находящую количество c цифр целого положительного числа k, а также их сумму s. с этой процедуры найти количество и сумму цифр для каждого из пяти данных целых чисел. формат входных данных с клавиатуры вводятся через пробел 5 целых чисел ki, 0≤ki≤109. формат выходных данных необходимо вывести в отдельной строка для каждого из чисел 2 числа через пробел — количество и сумму цифр. примеры входные данные выходные данные 31 1 294 0 1241 2 4 1 1 3 15 1 0 4 8

galaktionov964 galaktionov964    1   01.10.2019 10:20    0

Ответы
2Сергей5751 2Сергей5751  09.10.2020 07:34
Алгоритм решения

Для каждого из пяти чисел:

Пока число больше нуля, увеличиваем счётчик количества цифр на 1 и прибавляем последнюю цифру к счётчику суммы.

Необходимо учесть, что для K=0 количество цифр C=1.


Код (Pascal)

var

 x, i, anc, ans: integer;


procedure Sum(k: integer; var c, s: integer);

begin

 c := 0;

 if k = 0 then c := 1;

 s := 0;

 while (k > 0) do

 begin

   c := c + 1;

   s := s + (k mod 10);

   k := k div 10;

 end

end;


begin

 for i := 1 to 5 do

 begin

   read(x);

   Sum(x, anc, ans);

   writeln(anc, ' ', ans);

 end;

end.

Файл решения прикреплён.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика