打印 LOGO

现在小学生也在学习基本的编程,课程目标是让小学生能够有基本的算法思想,并不涉及复杂的数据和实现细节与原理。

LOGO 语言就非常适合小学生学习,它通过绘图的方式来直观的表现出如何用程序代码控制事物。例如控制台上初始给出一个点,使用语句 FD 1/1 表示将控制台上的点 Forward 1/1 的距离,即,向当前方向移动 1 的距离,这样就画出一条线段。

语句 LD 60 则表示当前朝向向左转 60 度,接着再使用语句 FD 1/1 就画出一条与之前的直线夹角为 120 度的一条线段,这时控制台上就有绘制出了一条折线段。现在的任务是输出一段能绘制分形的 LOGO 语言的程序代码。

如果你还对分形不了解,下面就先介绍一下分形:分形(Fractal) 是一个几何形状可以分成数个部分,且每一部分都(至少近似地)是整体缩小后的形状,即具有自相似的性质。自然界中一定程度上具有分形的性质的事物有云朵、闪电、植物根系、雪花等等。著名的科赫曲线就是一种分形,它绘制的是形态类似雪花的图案。以下是 0 阶到 3 阶的科赫曲线:

要求你的程序输出 LOGO 语句,使它画出 N 阶图示的分形曲线。

Input

11 个数字 nn,表示图形的阶数 (0<n<10)(0<n<10)

Output

绘制图形的 LOGO 指令

Example

Input

1

Output

FD 1/3
LD 60
FD 1/3
LD 240
FD 1/3
LD 60
FD 1/3

题解: 首先把 2阶的写出来, 看看有什么规律, 发现 2 阶的是由  1阶  + (LD 60 + 1阶  +LD 240 +1阶 +LD 60 ) + 1阶  构成 , 上面一阶的图像是 一  直线 +( 三角 ) + 直线构成 ,也就是 0阶 + ( LD 60 + 0阶 + LD 240 + 0 阶 + LD 60 ) +0 阶 , 而 上面所描述的0阶 ,1阶 , ... . n阶 就是   FD d (1 / pow(3, 阶数) )  ;

所以得到 ,   N 阶的图像是  ,  N-1 阶  + (输出(LD 60 )  + N-1 阶 + 输出(LD 240 ) + N-1阶 + LD60 ) + N-1 阶 .

代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std ;
const int MAX = 20 ;
char order1[MAX] ="LD 60" ;
void Forword(int n )
{printf("FD 1/%d\n",n);return ;
}
void dfs(int n ,int d )
{if(n == 1 ){Forword( d );printf("%s\n",order1) ;Forword( d );printf("LD 240\n");Forword( d );printf("%s\n",order1) ;Forword( d );return ;}dfs(n-1 , d);cout<<order1<<endl;dfs(n-1 , d);printf("LD 240\n") ;dfs(n-1 , d);cout<<order1<<endl;dfs(n-1, d);}
int main()
{int n ;cin >> n  ;dfs(n,int(pow(3,n))) ;return 0 ;
}

蓝桥杯-- 打印 LOGO相关推荐

  1. 关于 蓝桥杯 打印六芒星 的 另类方法

    关于 蓝桥杯 打印六芒星 的 另类方法 刚入门不久的人也能做出来的一种方法 或者了解很深的人也可能不知道的一个方法 原题如下 [输入格式] 输入一行包含一个整数 n. [输出格式] 输出一个六芒星,表 ...

  2. java中的冰雹数,java实现第七届蓝桥杯打印数字

    打印数字 打印数字 小明写了一个有趣的程序,给定一串数字. 它可以输出这串数字拼出放大的自己的样子. 比如"2016"会输出为: 00000 1 6666 2 0 0 1 1 6 ...

  3. 蓝桥杯-打印十字图-java

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...

  4. 蓝桥杯-打印菱形/字符串截断

    字符串截断 package august20;public class 字符串截断 {public static void main(String[] args) {String a="he ...

  5. java实现第七届蓝桥杯打印数字

    打印数字 打印数字小明写了一个有趣的程序,给定一串数字. 它可以输出这串数字拼出放大的自己的样子.比如"2016"会输出为:00000 1 66662 0 0 1 1 6 0 0 ...

  6. 蓝桥杯—打印十字图—Java

    1.问题描述 小明为某机构设计了一个十字型的徽标(并非红十字会啊),如下所示(可参见p1.jpg)     对方同时也需要在电脑dos窗口中以字符的形式输出该标志,并能任意控制层数. 为了能准确比对空 ...

  7. c语言奇怪的分式11,蓝桥杯-奇怪的分式-java

    /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2016, 广州科技贸易职业学院信息工程系学生 * All rights reserved. * 文件名称: ...

  8. 蓝桥杯大赛青少年创意编程 第十一届 省赛 C++组试题 第1题 双面打印

    /* 蓝桥杯大赛青少年创意编程 第十一届 省赛 C++组试题 第1题 双面打印 题目描述在2020年这个漫长的寒假里,虽然小蓝和他的同学们都在家里,但依旧通过网课的方式坚持学习,而老师们也依旧会布置作 ...

  9. [蓝桥杯]横向打印二叉树 Python满分解法

    [蓝桥杯]横向打印二叉树 Python满分解法 #树的结点类定义 class Node:def __init__(self,left=0,right=0,w=0,line=0,leng=0):self ...

最新文章

  1. 泛在电力物联网(能源互联网+物联网)浅析
  2. Android数据库高手秘籍(三)——使用LitePal升级表
  3. jquery.form 和MVC4做无刷新上传DEMO
  4. C语言用DFS实现找到图的所有路径(邻接矩阵实现)
  5. java_OA管理系统(一):Servlet总结案例仿网络聊天室
  6. leetcode-67-二进制求和
  7. 动态规划--图像压缩
  8. C++学习之路 | PTA乙级—— 1052 卖个萌 (20 分)(精简)
  9. 大数据基础学习三:Ubuntu下安装VMware Tools超详细步骤及需要注意的问题(以ubuntu-18.04.3、Mware Workstation 15.1.0 Pro为例)
  10. C# -Asp.Net.SignalR.Core之Hub
  11. 2015年江苏省计算机c语言二级考试,2015江苏省计算机等级考试C语言部分试题.doc...
  12. 实际测试中,经常发现摄像头断线几分钟
  13. 如何“复活”一个人,这里有一份最全的技术路线图谱丨钛媒体深度
  14. 视频分配器中提高信号完整性的方法
  15. 【Python入门教程】第45篇 集合的并集
  16. dhcp服务器是如何进行租约信息的更新的,DHCP服务器
  17. 使用html和css的一些案列(小米官网)
  18. springboot启动卡住问题解决
  19. C++综合项目-boost搜索引擎
  20. 教你使用日文输入法-日文输入显示不用愁

热门文章

  1. 光环:软件工程环境堆栈建设思路——徐磊
  2. tecplot入门实践案例
  3. Laravel下载地址合集
  4. android平板提速,提升Android平板性能的十大技巧
  5. 【最全资源】关于机器学习的干货借鉴
  6. 给自己最近定一个小目标
  7. Thinkphp 6 使用RSA非对称加密算法 对接口加密解密
  8. win11和win10哪个好 win11和win10对比分析
  9. 电脑数据传输/数据迁移下载哪款软件好?
  10. 【C语言】游戏项目:《疯狂赛车》,每个人都要加油活下去