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

Ответы 1

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

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

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

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

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

    answer img
    • Автор:

      munoz
    • 5 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years