Заменить нечетные цифры 4 рекурсивной функцией - PullRequest
0 голосов
/ 17 ноября 2018

Мне нужно создать рекурсивную функцию, которая заменяет все нечетные цифры на 4.

Пример

Пользователь вводит: 2391 Выход: 2444

Пожалуйста, используйте язык C ++ для начинающих, без массивов и т. Д. Использование базового языка C ++ и рекурсивного кода было бы действительно полезным, спасибо.

int oddToFour(int num) {
    int digit = num % 10; 
    if (digit / 2 != 0) return 4;
    else return digit; 
    oddToFour(num/10); 
}

1 Ответ

0 голосов
/ 17 ноября 2018

Следующий код должен работать:

int oddToFour(int num) {
    if (num == 0) 
        return 0; 

    int digit = num % 10; 
    if (digit % 2 == 1) 
        digit = 4; 

    return oddToFour(num/10) * 10 + digit; 
}

Надеюсь, вы найдете его полезным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...