Информатика, вопрос задал 05kostman05 , 7 лет назад

Необходимо реализовать процедуру 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

Ответы на вопрос

Ответил DexelGamer
0

Алгоритм решения

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

Пока число больше нуля, увеличиваем счётчик количества цифр на 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.

-------------------------------------------------

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

Приложения:
Новые вопросы