Основы программирования на C++, PASCAL
24. Даны натуральные числа п и k, п > 1. Напечатать k десятичных знаков числа 1/п. Программа должна использовать только целые переменные.
25. Дано натуральное число п > 1. Определить длину периода десятичной записи дроби 1/п.
26. Функция f с натуральными аргументами и значениями определена так: f(0) = 0, f(1) = 1, f(2n) = f(n), f(2n +1) = f(n) + f(n + 1). Составить программу вычисления f(n) по заданному п.
27. На отрезке [100, N] (210< N< 231) найти количество чисел, составленных из цифр а, b, с.
6.6.2. Рекурсивные процедуры и функции
Решить следующие задачи, используя рекурсивную подпрограмму.
1. Найти сумму цифр заданного натурального числа.
2. Подсчитать количество цифр в заданном натуральном числе.
3. Описать функцию С(т, п), где 0 ≤ т ≤ n, для вычисления биномиального коэффициента Сnm по следующей формуле:
4. Описать рекурсивную функцию Root (а, b, ε), которая методом деления отрезка пополам находит с точностью ε корень уравнения f(x) = 0 на отрезке [а, b] (считать, что ε > 0, а < b, f(a) - f(b) < 0 и f(x) — непрерывная и монотонная на отрезке [а, b] функция).
5. Описать функцию min(X) для определения минимального элемента линейного массива X, введя вспомогательную рекурсивную функцию minl(k), находящую минимум среди последних элементов массива X, начиная с k-го.
6. Описать рекурсивную логическую функцию Simm(S,I,J), проверяющую, является ли симметричной часть строки S, начинающаяся i-м и заканчивающаяся j-м ее элементами.
7. Составить программу для вычисления наибольшего общего делителя двух натуральных чисел.
8. Составить программу для нахождения числа, которое образуется из данного натурального числа при записи его цифр в обратном порядке. Например, для числа 1234 получаем результат 4321.
9. Составить программу для перевода данного натурального числа в р-ичную систему счисления (2 ≤ р ≤ 9).
10. Дана символьная строка, представляющая собой запись натурального числа в p-ичной системе счисления (2 ≤ р ≤ 9). Составить программу для перевода этого числа в десятичную систему счисления.
11. Составить программу для вычисления суммы: 1! + 2! + 3! + ... + п! (п ≤ 15).
Примечание. Тип результата значения функции — LongInt.
12. Составить программу для вычисления суммы: 2! + 4! + 6! + ... + п! (п ≤ 16, п — четное).
Примечание. Тип результата значения функции — LongInt.
13*. Дано п различных натуральных чисел. Напечатать все перестановки этих чисел.
14. Логическая функция возвращает True, если ее аргумент — простое число.
15. Описать функцию, которая удаляет из строки все лишние пробелы. Пробелы считаются лишними, если их подряд идет более двух, если они стоят в конце строки после последней точки, если стоят после открывающегося парного знака препинания.