Определить число 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
используется для приостановки выполнения программы до тех пор, пока пользователь не нажмет любую клавишу.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д