Школа179: Oner Xaum/Рекурсия ...

 
Это старая версия OnerXaum/Рекурсия за 2011-11-23 11:05:45..

Рекурсия.



Задачи


1.
в первых трех пунктах этой задачи разрешается использовать лишь одну рекурсивную функцию с одним параметром.


Для заданного натурального n вывести все числа от 1 до n:

  1. в обратном порядке.
  2. в прямом порядке.
  3. сперва в обратном порядке, а затем в прямом.
  4. сперва в прямом порядке, а затем в обратном, используя только дополнительную рекурсивную функцию.
  5. сперва в прямом порядке, а затем в обратном, используя только дополнительный параметр.
  6. сперва в обратном порядке, а затем в прямом только четные.

2.

  1. Написать рекурсивный вариант функции возведения в натуральную степень.
  2. Написать функцию, принимающую два натуральных числа и возвращающую их произведение. (операцией умножения пользоваться запрещается.)
  3. Написать функцию, принимающую два натуральных числа и возвращающую их степень. Запрещается пользоваться любыми арифметическими операциями кроме прибавления и отнимания единицы (++ и — соответственно).

3.
Для заданного n вычислить n –й член последовательности Фибоначчи.


4.
Для заданного натурального n и b (1 < b < 11) вывести запись числа n в системе счисления с основанием b.


5.

  1. Для заданных натуральных m и n вывести прямоугольник m на n.
  2. Для заданного натурального n прямоугольный равнобедренный треугольник с прямым углом слева вверху и с катетами равными n.
  3. Для заданного натурального n прямоугольный равнобедренный треугольник с прямым углом слева внизу и с катетами равными n.
  4. Для заданного натурального n равнобедренный треугольник с вертикальным основанием слева, равным 2n – 1.
  5. Для заданного натурального n равнобедренный треугольник вершиной вниз с высотой n и основанием 2n-1.
  6. Такой же треугольник вершиной вверх.

Примеры:


..***********.....*******.......*.....*.......*************..........*.......
..***********.....******.......**.....**.......***********..........***......
..***********.....*****.......***.....***.......*********..........*****.....
..***********.....****.......****.....****.......*******..........*******....
..***********.....***.......*****.....***.........*****..........*********...
..***********.....**.......******.....**...........***.........************..
..***********.....*.......*******.....*.............*.........**************.
......(a).........(b)........(c)......(d)..........(e)..............(f)......
...m=11,n=7;......n=7;.......n=7;.....n=4;.........n=7;.............n=7;.....


Примечание: Точки в примерах поставлены вместо пробелов исключительно из-за своеобразия формата вако-вики.


6.(«Ханойские башни»)
Есть три стержня A, B, и C. На стержень A надето n дисков, причем диски отличаются размером и лежат меньший на большем. Задача состоит в том, чтобы перенести все диски со стержня A на стержень C, пользуясь стержнем B, как вспомогательным, За один раз разрешается переносить только один диск, причём нельзя класть больший диск на меньший.
Написать программу, которая воспроизведет инструкцию по порядку переноса дисков. Каждая инструкция записывается в формате:
<имя стержня, откуда переносится диск> -> <имя стержня, куда переносится диск>


Пример для n=2:


A -> C
A -> B
B -> C


Примечание: желательно найти два решения этой задачи: (a) с использованием дополнительной рекурсивной функции; (b) с использованием дополнительного параметра


7. (необязательно)
Фракталы.
Используя какую-нибудь графическую библиотеку, постройте изображения следующих фракталов:

  1. треугольник Серпинского
  2. квадрат Серпинского
  3. кривая Леви
  4. кривая дракона
  5. снежинка Коха

 
Файлов нет.[Показать файлы/форму]