Сумма и произведение цифр числа

Задача

Найти сумму и произведение цифр, введенного натурального числа. Например, если введено число 325, то сумма его цифр равна 10 (3+2+5), а произведение 30 (3*2*5).

Пояснение к задаче и алгоритм решения

  1. Присвоить переменной, в которой будет накапливаться сумма цифр, значение 0, а переменной для накопления произведения - значение 1 (если присвоить 0, то при умножении результат обнулится).
  2. Пока введенное число не уменьшится до нуля выполнять следующие действия:
    1. В переменную для суммы цифр добавлять последнюю цифру числа, извлеченную при нахождении остатка от деления на 10.
    2. Значение переменной для хранения произведения цифр умножить на последнюю цифру числа.
    3. Избавиться от последней цифры числа, разделив его нацело на 10.

Исходный код на языке программирования Pascal

var
    n, sum: word;
    mult: longint;
begin
    readln(n);
    sum := 0;
    mult := 1;
    while n > 0 do begin
        sum := sum + n mod 10;
        mult := mult * (n mod 10);
        n := n div 10;
    end;
    writeln('Sum: ', sum);
    writeln('Mult: ', mult);
end.

Пример(ы) выполнения программы на языке Pascal

462
Sum: 12
Mult: 48

Исходный код на языке программирования C

#include <stdio.h>
 
main() {
    int n, s, m;
    scanf("%d",&n);
    s = 0;
    m = 1;
    while (n>0) {
        s += n%10;
        m *= n%10;
        n = n/10;
    }
    printf("Сумма: %d\nПроизведение: %d\n", s, m);
}

Пример(ы) выполнения программы на языке C

245
Сумма: 11
Произведение: 40

Исходный код на языке программирования Python

n = int(input())
s = 0
m = 1
while n>0:
    s += n%10
    m *= n%10
    n = n//10
print("Сумма:", s)
print("Произведение:", m)

Пример(ы) выполнения программы на языке Python

567
Сумма: 18
Произведение: 210

Исходный код на языке программирования КуМир

алг сумма цифр
нач
  цел n, s, m
  ввод n
  s := 0
  m := 1
  нц пока n>0
    s := s + mod(n,10)
    m := m * mod(n,10)
    n := div(n,10)
  кц
  вывод s, нс, m
кон

Пример(ы) выполнения программы на языке КуМир

2932
16
108

Исходный код на языке программирования Basic

input n
sum = 0
mult = 1
while n > 0
        sum = sum + n%10
        mult = mult * (n%10)
        n = n\10
endwhile
print "Сумма: " + sum
print "Произведение: " + mult

Пример(ы) выполнения программы на языке Basic

567
Сумма: 18
Произведение: 210

Тема

Циклы

Уровень сложности

Простой

Дата публикации

Комментарий

В данной программе при введении числа с нулём произведение будет выдавать ноль.Надо добавить в цикл условие if (n mod 10)<>0 then что бы он не умножался на ноль.