C - Sierpinski carpet(abc357)

题意:

  • 中央区块完全由白色单元格组成。
    • 其他八个区块是 (𝐾−1)(K−1) 级地毯。

给你一个非负整数 N 。

请按照指定格式打印 N 级地毯。

分析:先把地毯分成九块

除了中间那块,其它都是由左上角那块延申出来的

#include<bits/stdc++.h>

using namespace std;

char a[1000][1000];

int main(){

int n;cin>>n;

a[1][1]='#'; int c=1;

for(int i=1;i<=pow(3,n);i++){

a[i][0]='#';a[0][i]='#';

}

for(int z=1;z<=n;z++){

c*=3;

for(int i=1;i<=c;i++){

for(int j=1;j<=c;j++){

if(i>c/3||j>c/3){//除了左上角那块

if((i>c/3&&i<=2*(c/3))&&(j>c/3&&j<=2*(c/3))){//中间那块

a[i][j]='.';

}

else if(i<=c/3&&j>c/3){

a[i][j]=a[i][j%(c/3)];

}

else a[i][j]=a[i%(c/3)][j];

}

}

}

}

for(int i=1;i<=c;i++){

for(int j=1;j<=c;j++){

cout<<a[i][j];

}

cout<<endl;

}

return 0;

}

相关推荐
foundbug99910 小时前
基于STM32的步进电机加减速程序设计(梯形加减速算法)
stm32·单片机·算法
CheerWWW10 小时前
C++学习笔记——this关键字、对象生命周期(栈作用域)、智能指针、复制与拷贝构造函数
c++·笔记·学习
lucky九年10 小时前
GO语言模拟C++封装,继承,多态
开发语言·c++·golang
北顾笙98010 小时前
day12-数据结构力扣
数据结构·算法·leetcode
凌波粒10 小时前
LeetCode--454.四数相加 II(哈希表)
算法·leetcode·散列表
漫随流水10 小时前
c++编程:D进制的A+B(1022-PAT乙级)
数据结构·c++·算法
tankeven10 小时前
HJ159 没挡住洪水
c++·算法
美式请加冰11 小时前
斐波那契数列介绍和使用
算法
charlie11451419111 小时前
嵌入式C++教程实战之Linux下的单片机编程:从零搭建 STM32 开发工具链(5):调试进阶篇 —— 从 printf 到完整 GDB 调试环境
linux·c++·单片机·学习·嵌入式·c
paeamecium11 小时前
【PAT】 - Course List for Student (25)
数据结构·c++·算法·pat考试