#include <iostream>
#include <string>
using namespace std;
// funkcja generująca kolejną linię
string nextCantor(const string& line) {
string result = line;
for (int i = 0; i < line.length(); i++) {
if (line[i] == '#') {
int len = result.length() / line.length();
}
}
int n = line.length();
string newLine = "";
for (int i = 0; i < n; i++) {
if (line[i] == '#') {
newLine += "###";
} else {
newLine += " ";
}
}
// usuwamy środkową trzecią część
int size = newLine.length();
int third = size / 3;
for (int i = third; i < 2 * third; i++) {
newLine[i] = ' ';
}
return newLine;
}
int main() {
int stopien;
cout << "Podaj stopien (np. 3 lub 6): ";
cin >> stopien;
if (stopien < 0 || stopien > 6) {
cout << "Podaj stopien 0-6!" << endl;
return 0;
}
string line = "#";
cout << line << endl;
for (int i = 1; i <= stopien; i++) {
line = nextCantor(line);
cout << line << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKLy8gZnVua2NqYSBnZW5lcnVqxIVjYSBrb2xlam7EhSBsaW5pxJkKc3RyaW5nIG5leHRDYW50b3IoY29uc3Qgc3RyaW5nJiBsaW5lKSB7CiAgICBzdHJpbmcgcmVzdWx0ID0gbGluZTsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IGxpbmUubGVuZ3RoKCk7IGkrKykgewogICAgICAgIGlmIChsaW5lW2ldID09ICcjJykgewogICAgICAgICAgICBpbnQgbGVuID0gcmVzdWx0Lmxlbmd0aCgpIC8gbGluZS5sZW5ndGgoKTsKICAgICAgICB9CiAgICB9CgogICAgaW50IG4gPSBsaW5lLmxlbmd0aCgpOwogICAgc3RyaW5nIG5ld0xpbmUgPSAiIjsKCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG47IGkrKykgewogICAgICAgIGlmIChsaW5lW2ldID09ICcjJykgewogICAgICAgICAgICBuZXdMaW5lICs9ICIjIyMiOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIG5ld0xpbmUgKz0gIiAgICI7CiAgICAgICAgfQogICAgfQoKICAgIC8vIHVzdXdhbXkgxZtyb2Rrb3fEhSB0cnplY2nEhSBjesSZxZvEhwogICAgaW50IHNpemUgPSBuZXdMaW5lLmxlbmd0aCgpOwogICAgaW50IHRoaXJkID0gc2l6ZSAvIDM7CgogICAgZm9yIChpbnQgaSA9IHRoaXJkOyBpIDwgMiAqIHRoaXJkOyBpKyspIHsKICAgICAgICBuZXdMaW5lW2ldID0gJyAnOwogICAgfQoKICAgIHJldHVybiBuZXdMaW5lOwp9CgppbnQgbWFpbigpIHsKICAgIGludCBzdG9waWVuOwogICAgY291dCA8PCAiUG9kYWogc3RvcGllbiAobnAuIDMgbHViIDYpOiAiOwogICAgY2luID4+IHN0b3BpZW47CgogICAgaWYgKHN0b3BpZW4gPCAwIHx8IHN0b3BpZW4gPiA2KSB7CiAgICAgICAgY291dCA8PCAiUG9kYWogc3RvcGllbiAwLTYhIiA8PCBlbmRsOwogICAgICAgIHJldHVybiAwOwogICAgfQoKICAgIHN0cmluZyBsaW5lID0gIiMiOwoKICAgIGNvdXQgPDwgbGluZSA8PCBlbmRsOwoKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IHN0b3BpZW47IGkrKykgewogICAgICAgIGxpbmUgPSBuZXh0Q2FudG9yKGxpbmUpOwogICAgICAgIGNvdXQgPDwgbGluZSA8PCBlbmRsOwogICAgfQoKICAgIHJldHVybiAwOwp9