Нужно написать программу которая выводит на экран произведение цифр введенного числа

var N, k, digit, prod: longint;
begin
readln(N);
prod := 1; // Произведение не должно быть равно 0, в вашем случае просто отделают последнюю цифру, не проверяя ее кратна она 3 или нет
k := 0;
while (N > 0) do
begin
digit := N mod 10;
if (digit mod 3 = 0) and (digit<>0) then begin // (digit<>0) проверка на неравенство нулю(любое число*0=0)
prod := prod*digit;
k := k+1;
end;
N := N div 10;
end;
if (k = 0)
then writeln(‘NO’)
else writeln(prod) // Выводить нужно не конечное N, а именно произведение(prod)
end.

Источник: sous-otvet.net

Python задача. Сумма и произведение цифр натурального числа

1)Установите переменную, где сумма цифр будет суммироваться, на 0, а переменную накопления произведения на 1 (если вы присвоите 0, умножение обнулит результат).

8.2 Ревью кода 8. «Поколение Python»: курс для начинающих. Курс Stepik

2) Пока введенное число не уменьшится до нуля, выполните следующие действия:

а)В переменную суммы цифр добавьте последнюю цифру извлеченного числа, найдя остаток от деления на 10.

б)Значение переменной для хранения произведения цифр умножается на последнюю цифру числа.

с)Избавьтесь от последней цифры числа, разделив его на 10.

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

Решение задачи с помощью python

n = int(input(‘Введите число’))
s = 0
m = 1
while n>0:
(tab) s += n%10
(tab) m *= n%10
(tab) n = n//10
print(«Сумма:», s)
print(«Произведение:», m)

Источник: blogproger.ru

Найти произведение цифр заданного четырехзначного числа

Основы программирования 2.0

Вообще условие задачи уже озвучено в заголовке, но на всякий случай повторю.

Условие задачи

Задача 6.1.2.4
Найти произведение цифр заданного четырехзначного числа

Читайте также:
Лучшие программы для графического дизайна

Задача простая, но, судя по количеству запросов в Интернете, далеко не все могут решить её самостоятельно. Вам советую всё-таки попробовать это сделать. А уже потом посмотреть решение.

Как найти произведение цифр числа

Поскольку по условию число является четырёхзначным, то это сильно упрощает нам задачу. Алгоритм решения может быть, например, таким:

  1. Получить остаток от деления на 10. Это будет крайняя правая цифра числа.
  2. Получить остаток от деления на 100 и разделить результат на 10. Это будет вторая справа цифра числа.
  3. Получить остаток от деления на 1000 и разделить результат на 100. Это будет третья справа цифра числа.
  4. Выполнить целое деление на 1000. Это будет первая слева цифра числа.

По идее надо ещё проверить число, которое ввёл пользователь (если, конечно, мы предоставим ему такую возможность).

8.2 Ревью кода 7. «Поколение Python»: курс для начинающих. Курс Stepik

Так как число является четырёхзначным, то оно не может быть менее 1000 и более 9999. Вот это условие мы и должны проверить, прежде чем выполнять какие-то действия.

Также число может быть отрицательным. Но про знак числа в условиях задачи ничего не сказано. Поэтому будем считать, что оно положительное (в любом случае цифры числа не могут быть отрицательными, так что даже если допустить, что число будет отрицательным, то на результат это не повлияет, а придётся только добавить дополнительную проверку вхождения числа в диапазон -9999…-1000).

Ну а теперь решения на Паскале и С++.

Решение задачи 6.1.2.4 на Паскале

program multinum; //**************************************************************** // ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ //**************************************************************** var Num : word; //Число D0 : word; //Крайняя правая цифра числа D1 : word; //Вторая справа правая цифра числа D2 : word; //Третья справа цифра числа D3 : word; //Крайняя левая цифра числа //**************************************************************** // ОСНОВНАЯ ПРОГРАММА //**************************************************************** begin Write(‘Enter a 4-digit integer : ‘); ReadLn(Num); //Проверить правильность ввода данных if (Num < 1000) or (Num >9999) then begin WriteLn(‘The number must be in the range 1000. 9999’); ReadLn; Exit; //Выйти, если данные неправильные end; D0 := Num mod 10; D1 := (Num mod 100) div 10; D2 := (Num mod 1000) div 100; D3 := (Num div 1000); WriteLn(‘The digits of number :’, D3:2, D2:2, D1:2, D0:2); Write(D3, ‘ * ‘, D2, ‘ * ‘, D1, ‘ * ‘, D0, ‘ = ‘); WriteLn(D3 * D2 * D1 * D0); WriteLn(‘The end. Press ENTER. ‘); ReadLn; end.
Решение задачи 6.1.2.4 на С++
#include #include using namespace std; //**************************************************************** // ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ //**************************************************************** unsigned short int Num; //Число unsigned short int D0; //Крайняя правая цифра числа unsigned short int D1; //Вторая справа правая цифра числа unsigned short int D2; //Третья справа цифра числа unsigned short int D3; //Крайняя левая цифра числа //**************************************************************** // ОСНОВНАЯ ПРОГРАММА //**************************************************************** int main(int argc, char *argv[]) < cout > Num; //Проверить правильность ввода данных if ((Num < 1000) || (Num >9999)) < cout D0 = Num % 10; D1 = (Num % 100) / 10; D2 = (Num % 1000) / 100; D3 = (Num / 1000); cout

Читайте также:
Составить программу вычисления значений функции y 7x 2 3x 6 при любом значении х

Источник: info-master.su

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru