Определить число c максимальным пpоизведением нечетныx цифр - C (СИ)
Формулировка задачи:
Здраствуйте. помогите с программой.
Даны натуральные m и n. Определить число c максимальным пpоизведением нечетныx цифр
Решение задачи: «Определить число c максимальным пpоизведением нечетныx цифр»
textual
Листинг программы
#include <stdio.h> #include <time.h> #include <Windows.h> int Rasriad(int enterNumber) { int n = enterNumber, x = 0; while (n != 0) { n /= 10; x++; } return x; } int main(void) { int m = 7895, n = 12345; int m_number_length = 0, n_number_length = 0; int result1 = 1, result2 = 1; int i, j, decimal = 1, indexRas; m_number_length = Rasriad(m); n_number_length = Rasriad(n); for (j = 1; j < m_number_length; j++) decimal *= 10; for (i = 1; i <= m_number_length; i++) { indexRas = m / decimal % 10; decimal /= 10; printf("%d ", indexRas); if (indexRas % 2 == 1) result1 *= indexRas; } decimal = 1; for (j = 1; j < n_number_length; j++) decimal *= 10; for (i = 1; i <= n_number_length; i++) { indexRas = n / decimal % 10; decimal /= 10; printf("%d ", indexRas); if (indexRas % 2 == 1) result2 *= indexRas; } (result2 > result1) ? printf("Number 2") : (result2 < result1)? printf("Number 1"): printf("Equal"); system("pause"); return 0; }
Объяснение кода листинга программы
В этом коде есть две функции:
- Функция
Rasriad
принимает целое число в качестве аргумента и возвращает количество цифр в этом числе. Эта функция используется для определения длины чиселm
иn
. - Функция
main
является точкой входа в программу. Она инициализирует переменныеm
иn
со значениями 7895 и 12345 соответственно. Затем функция определяет длину чиселm
иn
с помощью функцииRasriad
. Затем в цикле перебираются цифры числаm
с помощью двух циклов. Переменнаяdecimal
используется для хранения десятичного числа, которое используется для вычисления очередной цифры числаm
. ПеременнаяindexRas
используется для хранения очередной цифры числаm
. Если цифра нечетная, то она умножается наresult1
. После этого цикл перебирает цифры числаn
с помощью двух циклов. Переменнаяdecimal
снова используется для хранения десятичного числа, которое используется для вычисления очередной цифры числаn
. ПеременнаяindexRas
используется для хранения очередной цифры числаn
. Если цифра нечетная, то она умножается наresult2
. После этого сравниваются значенияresult1
иresult2
. Еслиresult2
большеresult1
, то выводится сообщениеNumber 2
. Еслиresult2
меньшеresult1
, то выводится сообщениеNumber 1
. Если значения равны, то выводится сообщениеEqual
. Наконец, функцияsystem
используется для приостановки выполнения программы до тех пор, пока пользователь не нажмет любую клавишу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д