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

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

Формат входных данных
С клавиатуры вводятся через пробел 5 целых чисел Ki, 0Ki109.
Формат выходных данных
Нужно вывести в отдельной строка для каждого из чисел 2 числа через пробел количество и сумму цифр.
Образцы
входные данные выходные данные
31 1 294 0 1241
2 4
1 1
3 15
1 0
4 8

Задать свой вопрос
1 ответ

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

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

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

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

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

, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт