4. Рекурсивні описи функцій.

У попередній розділ На головну | У наступний розділ

1. Дано перший член і різницю арифметичної прогресії. Написати рекурсивну функцію для знаходження n-го члена прогресії і суми n перших членів прогресії.
2. Дано перший член і знаменник геометричної прогресії. Написати рекурсивну функцію знаходження n-го члена прогресії і знаходження суми n перших членів прогресії.
3. Написати рекурсивну функцію для обчислення індексу максимального елемента масиву з n елементів.
4. Написати рекурсивну процедуру для виведення на екран цифр натурального числа у зворотному порядку.
5. Написати рекурсивну процедуру для введення з клавіатури послідовності чисел і виведення її на екран у зворотному порядку (закінчення послідовності - при введенні нуля).
6. Написати рекурсивну процедуру перекладу натурального числа з десяткової системи числення в N-річної. Значення N в основній програмі вводиться з клавіатури (2 ≤ N ≤ 16).
7. Написати рекурсивну функцію, що визначає, чи є симетричною частина рядка S, починаючи з i-го елемента і закінчуючи j-м.
8. Дано числа a і b. Визначте, скільки існує послідовностей з a нулів і b одиниць, в яких ніякі два нуля не стоять поруч.
9. Дано натуральні числа k і s. Визначте, скільки існує k-значних натуральних чисел, сума цифр яких дорівнює s. Запис натурального числа не може починатися з цифри 0. У цьому завданні можна використовувати цикл для перебору всіх цифр, що стоять на будь-якої позиції.
10. Дана монотонна послідовність, в якій кожне натуральне число k зустрічається рівно k раз: 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, ... За даним натуральному n виведіть перші n членів цієї послідовності . Спробуйте обійтися тільки одним циклом for.
11. Дана послідовність натуральних чисел (одне число в рядку), що завершується двома числами 0 поспіль. Визначте, скільки разів в цій послідовності зустрічається число 1. Числа, що йдуть після двох нулів, необхідно ігнорувати. У цьому завданні не можна використовувати глобальні змінні і параметри, що передаються в функцію. Функція отримує дані, зчитуючи їх з клавіатури, а не отримуючи їх у вигляді параметрів.
12. Дана послідовність натуральних чисел (одне число в рядку), що завершується числом 0. Виведіть перше, третє, п'яте і т.д. з введених чисел. Завершальний нуль виводити не потрібно.
13. Дано натуральне число n> 1. Виведіть всі прості множники цього числа в порядку зростання з урахуванням кратності.
14. Дано натуральне число N. Виведіть слово YES, якщо число N є точним ступенем двійки, або слово NO в іншому випадку.
15. Дана послідовність натуральних чисел (одне число в рядку), що завершується числом 0. Визначте найбільше значення числа в цій послідовності. У цьому завданні не можна використовувати глобальні змінні і передавати будь-які параметри в рекурсивную функцію. Функція отримує дані, зчитуючи їх з клавіатури. Функція повертає єдине значення: максимум ліченої послідовності. Гарантується, що послідовність містить хоча б одне число (крім нуля).
16. Дана послідовність натуральних чисел (одне число в рядку), що завершується числом 0. Визначте значення другого за величиною елемента в цій послідовності, тобто елемента, який буде найбільшим, якщо з послідовності видалити найбільший елемент. У цьому завданні не можна використовувати глобальні змінні. Функція отримує дані, зчитуючи їх з клавіатури, а не отримуючи їх у вигляді параметра. У програмі на мові Python функція повертає результат у вигляді кортежу з кількох чисел і функція взагалі не отримує ніяких параметрів.
17. Написати програму, що реалізовує пересування коня за шаховим полю таким чином, щоб він пройшов максимальна відстань, не перетинаючи власних шляхів. Кінь пересувається по дошці буквою "Г" на дві клітини в будь-яку з чотирьох сторін і одну під прямим кутом. Початкове положення коня вибирається користувачем або випадковим чином. Хід коня на кожному кроці відображається на екрані.

Остання зміна: Friday 17 June 2016 10:35 AM