#include "library.h" double draw_special_line(double L, double limit) { if (L <= limit) { draw_distance(L); return L; } else { double L1 = draw_special_line(L/3, limit); turn_left_by_degrees(60); double L2 = draw_special_line(L/3, limit); turn_right_by_degrees(120); double L3 = draw_special_line(L/3, limit); turn_left_by_degrees(60); double L4 = draw_special_line(L/3, limit); return L1+L2+L3+L4; } } double move(double limit) { double L = draw_special_line(350, limit); turn_right_by_degrees(120); return L; } void main() { const double limit = read_double(); make_window(600, 600); move_to(100, 150); set_heading_degrees(90); set_pen_width(2); double L1 = move(limit); double L2 = move(limit); double L3 = move(limit); cout << "Total perimeter is " << L1+L2+L3 << "\n"; }