1 / 1 / 0
Регистрация: 05.04.2020
Сообщений: 18
1

Построение кривой дракона

15.04.2020, 00:00. Показов 13856. Ответов 2

Author24 — интернет-сервис помощи студентам
Построение кривой дракона
Кривая дракона — один из наиболее известных фракталов. Она строится так: на первом шаге проводится отрезок из начала координатной плоскости в точку (0;1). Далее на каждом шаге из конца фрактала повторяется уже нарисованная часть фигуры, повернутая на 90 градусов против часовой стрелки.



Рассмотрим кривую дракона на шаге номер n≥2. Вы движетесь из точки (0,0) и выписываете направления поворотов после прохождения каждого отрезка. Поворот направо обозначается буквой R, поворот налево — буквой L. Выведите последовательность поворотов.

Входные данные

Задано натуральное число n (2≤n≤15).

Выходные данные

Программа должна вывести последовательность из букв L и R в одной строке без пробелов.

Примеры
Ввод
3
Вывод
RRL
Ввод2
4
Вывод2
RRLRRLL
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.04.2020, 00:00
Ответы с готовыми решениями:

Построение кривой дракона
Кривая дракона — один из наиболее известных фракталов. Она строится так: на первом шаге проводится...

Задача "Построение кривой дракона"
Уже 10 часов сижу над задачей и сделать не могу. Если вы знаете как решить, пришлите пожалуйста...

Соединение двух точек кривой, Построение дуги эллипса под углом
Задание такое: задается две произвольные точки после чего из нужно соединить кривой. Думал...

Сокращение кода рисования кривой дракона
using System; using System.Drawing; namespace Fractals { internal static class...

2
Status 418
Эксперт Python
4577 / 2344 / 602
Регистрация: 26.11.2017
Сообщений: 5,265
Записей в блоге: 3
15.04.2020, 08:46 2
Лучший ответ Сообщение было отмечено dimon0977 как решение

Решение

как то так:
Python
1
2
3
4
5
6
7
8
9
10
def f(n, d):
    if n == 1:
        pass
    else:
        f(n-1, 'R')
        print(d, end='')
        f(n-1, 'L')
 
 
f(3, 'R')
доделай самостоятельно.
2
0 / 0 / 0
Регистрация: 12.07.2020
Сообщений: 3
14.07.2020, 22:00 3
В общем - здесь однозначно рекурсия:
Подскажу формулу рекурсии - а код просто сам напишешь:
f(n) = f(n - 1) + 'R' + reverse_f(n - 1)
reverse_f - это строка f(n - 1) только перевёрнутая, и где все R заменены на L и наоборот. (заменить какой - то символ в строке можно срезами: заменить s[i] на 'F' можно это строкой - s = s[: i] + 'F' + s[i+1 :])
0
14.07.2020, 22:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.07.2020, 22:00
Помогаю со студенческими работами здесь

Анимация Кривой Дракона (фрактала Хартера-Хейтуэя)
Помогите сделать так, чтобы можно было изменять количество изломов с помощью клавиатуры. ...

Перевести программу рисования кривой дракона из Turbo Pascal в PascalABC.NET
program dragon; uses graph; var k,d,m:integer; procedure ris(x1,y1,x2,y2,k:integer); var...

Кривая Дракона, Фрактал дракона
Пишу программу которая рисует Кривую дракона но не получается соединить линии кривой Желаемый...

Построение кривой
Добрый день. Помогите пожалуйста. Нужно построить кривую в трёхмерном пространстве, и чтобы от 0 до...

Построение кривой Безье
Помогите, пожалуйста, не могу понять, как нужно писать программу. Нужно написать программу...

Построение 3D кривой по точкам
Все привет! Вопрос следующий: можно ли в маткаде построить 3D кривую по точкам? К примеру Х =...

Построение кривой Безье
Задача. Реализовать программу построения кривой Безье. Вызывая подпрограмму с плавно меняющимися ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru