分形简单版

news/2024/7/7 19:56:31


我的代码:

#include<bits/stdc++.h>
using namespace std;
const int N=1000;
int n;
char s[N][N];
void work(int x)
{
    if(x==1) {
        s[0][0]='*';
        return;
    }
    work(x-1);
    for(int i=0;i<(1<<x-2);i++)
    for(int j=(1<<x-2);j<(1<<x-1);j++) s[i][j]=s[i][j-(1<<x-2)];
    for(int i=(1<<x-2);i<(1<<x-1);i++)
    for(int j=0;j<(1<<x-2);j++) s[i][j]=s[i-(1<<x-2)][j];
    for(int i=(1<<x-2);i<(1<<x-1);i++)
    for(int j=(1<<x-2);j<(1<<x-1);j++) s[i][j]=' ';
}
int main()
{
    scanf("%d",&n);
    work(n);
    for(int i=0;i<(1<<n-1);i++) 
    {
        int j=1<<n-1;
        j--;
        while(s[i][j]!='*') j--;
        for(int k=0;k<j;k++) printf("%c ",s[i][k]);
        printf("%c",s[i][j]);
        if(i!=(1<<n-1)-1) printf("\n");
    }
    return 0;
}

另一种实现思路

#include <iostream>
using namespace std;
void draw_triangle(int n, int x, int y);
int main()
{
int n;
cin >> n;
for(int i=0; i<65; i++){
for(int j=0; j<65; j++){
grid[i][j] = ' ';
}
}
draw_triangle(n, 0, 0);
for(int i=0; i<sizes[n]; i++){
for(int j=0; j<sizes[n]-i; j++){
if(j+1==sizes[n]-i){
cout << grid[i][j] << endl;;
}else{
cout << grid[i][j] << " ";
}
}
}
return 0;
}
int sizes[] = {0, 1, 2, 4, 8, 16, 32, 64};
char grid[65][65];
void draw_triangle(int n, int x, int y){
if(n==1){
grid[x][y] = '*';
return;
}
draw_triangle(n-1, x, y);
draw_triangle(n-1, x+sizes[n-1], y);
draw_triangle(n-1, x, y+sizes[n-1]);
}

这两种思路都要会


http://lihuaxi.xjx100.cn/news/1811643.html

相关文章

数智赋能,众创众治|易知微为“浙江省数字监管应用建模技能竞赛”提供技术支撑!

11月6日至8日&#xff0c;2023年浙江省数字监管应用建模技能竞赛在省金华监狱举行。浙江省监狱管理局党委书记、局长王争&#xff0c;司法部监狱管理局规划科技处处长常家瑛&#xff0c;浙江省监狱管理局党委委员、副局长朱永忠出席本次活动。 本次建模大赛共有来自全省监狱系…

mysql无法访问故障排除步骤

总体是排查步骤 如果您使用telnet测试连接到MySQL服务器的IP地址和端口时遇到问题&#xff0c;有几个步骤可以帮助您进行故障排除&#xff1a; 确认MySQL服务器是否正在运行&#xff1a; 确保MySQL服务器在182.244.5.73上正在运行。检查MySQL服务器的日志文件以查看是否有任何…

NOSQL----redis的安装和基础命令

redis是什么 1.redis-------非关系型数据库 redis是非关系数据库的一种&#xff0c;也称为缓存型数据库。 非关系型数据库和关系型数据库 1.关系型数据库 关系型数据库是一个结构化的数据库&#xff0c;记录方式是行和列&#xff08;列&#xff1a;声明对象&#xff0c;行&am…

参加了南京 GDG 活动:这些精彩的技术讨论,值得与你分享~

一直以来发的文章大都是技术的&#xff0c;这次和大家聊点简单点的。 密集输出这几年&#xff0c;因为疫情没能在线下和大家碰面&#xff0c;去年又因为时间原因浪费了 Google IO China 门票。所以&#xff0c;今年的南京本地的 GDG DevFest 2023 活动一经上线&#xff0c;就报…

ResizeObserver观察元素宽度的变化

ResizeObserver观察元素宽度的变化 ResizeObserver观察元素宽度的变化 ResizeObserver观察元素宽度的变化 ResizeObserver 构造函数创建一个新的 ResizeObserver 对象&#xff0c;它可以用于监听 Element 内容盒或边框盒或者 SVGElement 边界尺寸的大小。查看详细说明 案例 &l…

智能井盖传感器建设信息化时代智慧城市

近年来随着信息技术的快速发展和城市化进程的加速推进&#xff0c;智慧城市的概念逐渐成为现实。作为智慧城市生命线建设中的重要组成部分&#xff0c;智能井盖传感器的应用正在为城市的可持续发展和居民的生活质量提供新的解决方案。 智能井盖传感器能够实时监测井盖状态&…

MyCAT2的主从配置

http://t.csdnimg.cn/KzwDy&#xff08;mysql主从搭建&#xff09; 前提&#xff0c;先搭建好MySQL的主从配置&#xff0c;登录MyCAT 2在MyCAT2里面操作&#xff0c;也就是连接8066这个端口。 一、创建数据源 ​​​​​​​1.创建数据源 添加读写的数据源 /* mycat:createD…

华为OD机试 - 密码输入检测(Java JS Python C)

题目描述 给定用户密码输入流 input,输入流中字符 < 表示退格,可以清除前一个输入的字符,请你编写程序,输出最终得到的密码字符,并判断密码是否满足如下的密码安全要求。 密码安全要求如下: 密码长度 ≥ 8;密码至少需要包含 1 个大写字母;密码至少需要包含 1 个小…