Необходимо реализовать процедуру Sum(K,C,S), находящую количество C цифр целого...

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

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


Информатика (26 баллов) | 68 просмотров
Дан 1 ответ
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.

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

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

(3.7k баллов)