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;

}

相关推荐
uoKent20 小时前
c++中的运算符重载
开发语言·c++
量子炒饭大师20 小时前
【C++入门】面向对象编程的基石——【类与对象】基础概念篇
java·c++·dubbo·类与对象·空指针规则
MSTcheng.20 小时前
【C++】链地址法实现哈希桶!
c++·redis·哈希算法
重生之后端学习20 小时前
25. K 个一组翻转链表
java·数据结构·算法·leetcode·职场和发展
你撅嘴真丑21 小时前
第五章 C++与STL入门
开发语言·c++
坐在地上想成仙21 小时前
从机床到键盘:用机械设计思维写出一个可部署网页
java·c++·python
CoderCodingNo21 小时前
【GESP】C++五级练习题 luogu-P2242 公路维修问题
开发语言·c++·算法
阿华hhh21 小时前
day2(IMX6ULL)<led(c语言版)>
java·c语言·jvm
不知名XL21 小时前
day30 动态规划03
算法·动态规划
张祥64228890421 小时前
线性代数本质笔记十二
人工智能·算法·机器学习