Определить произведение всех четных цифр числа - C (СИ)
Формулировка задачи:
Дано целое 7ми значное число Н
Определить
произведение всех ПАРНЫх цифер ...
раздедил отдельно каждую цифру, а дальше как? Как найти парные? + их произвести...
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int a, a1, a2, a3, a4, a5, a6, a7, DOB;
printf("Please, Enter the number A = ");
scanf("%i", &a);
a1 = a / 1000000 ;
a2 = a / 100000 % 10;
a3 = a / 10000 % 10;
a4 = a / 1000 % 10;
a5 = a / 100 % 10;
a6 = a / 10 % 10;
a7 = a % 10;
}Решение задачи: «Определить произведение всех четных цифр числа»
textual
Листинг программы
int p = 1;
while(n) {
int a = n%10;
if (a%2==0) p *= a;
n /=10;
}
print("%d\n", p)
Объяснение кода листинга программы
В этом коде:
- Инициализируется переменная
pравной 1. - В цикле while, который выполняется до тех пор, пока
nне равно 0, происходит следующее:- Получается последняя цифра числа
nпутем взятия остатка от деленияnна 10 и сохраняется в переменнойa. - Проверяется, является ли
aчетной цифрой (остаток от деления на 2 равен 0). - Если
aчетная, то она умножается наp. nделится на 10, чтобы удалить последнюю цифру.
- Получается последняя цифра числа
- После окончания цикла, выводится значение переменной
p. Пример: Для числа 123456, код будет выполнять следующие шаги: nравно 123456.aравно 6 (остаток от деления 123456 на 10).- Так как 6 четное число, то 6 умножается на 1 (значение
p). nделится на 10, становится равным 12345.aстановится равным 5.- Так как 5 нечетное число, то ничего не происходит.
nделится на 10, становится равным 1234.aстановится равным 4.- Так как 4 четное число, то 4 умножается на
p(теперь равное 6). nделится на 10, становится равным 123.aстановится равным 3.- Так как 3 нечетное число, то ничего не происходит.
nделится на 10, становится равным 12.aстановится равным 2.- Так как 2 четное число, то 2 умножается на
p(теперь равное 12). nделится на 10, становится равным 1.aстановится равным 1.- Так как 1 нечетное число, то ничего не происходит.
nделится на 10, становится равным 0.- Цикл завершается.
- Выводится значение
p, которое равно 12.