На мові програмування С++
1. Написати рекурсивну функцію, яка виводить усі числа із заданого користувачем діапазону у прямому порядку. І ще одну функцію – для виведення у зворотному порядку.
2. Написати рекурсивну функцію, яка виводить передане їй число задом наперед. Наприклад: число 1234 вивести як 4321.
3. Написати рекурсивну функцію, яка рахує суму цифр числа. Наприклад: число 1357, сума 1+3+5+7=16.
4. Написати рекурсивну функцію, яка приймає число та виводить відповідну кількість вкладених пар круглих дужок. Наприклад: число 4 - (((()))).
Ответы
1) Рекурсивна функція для виведення чисел у прямому порядку:
void printNumbersForward(int start, int end) {
if (start > end) {
return;
}
cout << start << " ";
printNumbersForward(start + 1, end);
}
Рекурсивна функція для виведення чисел у зворотному порядку:
void printNumbersBackward(int start, int end) {
if (start > end) {
return;
}
printNumbersBackward(start + 1, end);
cout << start << " ";
}
2) Рекурсивна функція для виведення числа задом наперед:
int reverseNumber(int num) {
if (num < 10) {
return num;
}
int lastDigit = num % 10;
int remainingDigits = num / 10;
int reversed = reverseNumber(remainingDigits);
int reversedNum = lastDigit * pow(10, floor(log10(reversed)) + 1) + reversed;
return reversedNum;
}
3) Рекурсивна функція для підрахунку суми цифр числа:
int sumOfDigits(int num) {
if (num < 10) {
return num;
}
int lastDigit = num % 10;
int remainingDigits = num / 10;
return lastDigit + sumOfDigits(remainingDigits);
}
4) Рекурсивна функція для виведення вкладених пар круглих дужок:
void printParentheses(int n) {
if (n == 0) {
return;
}
cout << "(";
printParentheses(n - 1);
cout << ")";
}