简单的图形输出
发布日期:2021-07-01 00:13:16
浏览次数:2
分类:技术文章
本文共 1281 字,大约阅读时间需要 4 分钟。
问题 : 简单的图形输出
时间限制: 1 Sec 内存限制: 128 MB题目描述
谢尔宾斯基三角形是一种分形,它的构造过程是这样的: 1.取一个实心的三角形。(多数使用等边三角形) 2.沿三边中点的连线,将它分成四个小三角形。 3.去掉中间的那一个小三角形。 4.对其余三个小三角形重复 1。 我们想尝试用斜线、反斜线和下划线画出谢尔宾斯基三角,假设最小的三角是长这样的: /\ /__\ 具体规律详见样例。
输入
多组数据输入输出。每行有一个整数 n(1<=n<=10),表示执行了一次操作 1,n=0 时结束输入。
输出
画出执行 n 次操作 1 后的图形,调整你的输出到最左端(底边的第一个斜杠在第一列)。输出不能包含任何尾随空格。在每个测试用例后打印空行。
样例输入
3210
样例输出
/\ /__\ /\ /\ /__\/__\ /\ /\ /__\ /__\ /\ /\ /\ /\/__\/__\/__\/__\ /\ /__\ /\ /\/__\/__\ /\/__\
#include#include char s[2050][2050];void vis(int i, int j, int n){ if(n == 2) { s[i][j] = s[i + 1][j - 1] = '/'; s[i][j + 1] = s[i + 1][j + 2] = '\\'; s[i + 1][j] = s[i + 1][j + 1] = '_'; return ; } vis(i, j, n / 2); vis(i + n / 2, j - n / 2, n / 2); vis(i + n / 2, j + n / 2, n / 2);}int main(){ int n, i, j, m; while (scanf("%d", &n), n) { for (i = 0; i < pow(2, n); i++) { for (j = 0; j < pow(2, n + 1); j++) s[i][j] = ' '; } vis(0, pow(2, n) - 1, pow(2, n)); m = pow(2, n) + 1; for (i = 0; i < pow(2, n); i++, m++) { for(j = 0; j < m; j++) putchar(s[i][j]); printf("\n"); } puts(""); } return 0;}
转载地址:https://lzyws739307453.blog.csdn.net/article/details/80024791 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月18日 07时10分01秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
linux内存的寻址方式
2019-04-30
how2heap-double free
2019-04-30
how2heap-fastbin_dup_consolidate
2019-04-30
tf keras SimpleRNN源码解析
2019-04-30
MyBatisPlus简单入门(SpringBoot)
2019-04-30
攻防世界web进阶区web2详解
2019-04-30
xss-labs详解(上)1-10
2019-04-30
xss-labs详解(下)11-20
2019-04-30
攻防世界web进阶区ics-04详解
2019-04-30
sql注入总结学习
2019-04-30
Python 之 histogram直方图
2019-04-30
Python实现决策树 Desision Tree & 可视化
2019-04-30
决策树 Decision tree
2019-04-30
MATLAB与CUDA
2019-04-30
Linux png转jpg (convert命令)
2019-04-30
Ubuntu更新后终端中字体的颜色全是白色
2019-04-30
vscode git
2019-04-30
基于MATLAB的二进制数字调制与解调信号的仿真——2PSK
2019-04-30
基于MATLAB的模拟调制信号与解调的仿真——DSB
2019-04-30