#include <iostream>
#include <sstream>
using namespace std;
int main() {
char top_line[10][4] = {"###", " #", "## ", "###", "# #", " ##", "# ", "###", "###", "###" };
char middle_line[10][4] = {"# #", " #", " # ", " ##", "###", " # ", "###", " #", "###", "###" }; //make similar to top_line;
char bottom_line[10][4] = {"###", " #", " ##", "###", " #", "## ", "###", " #", "###", " #" }; //make similar to top_line;
printf("Enter a number:");
int n;
scanf("%d", &n);
int n_copy = n;
// We count the number of digits in n;
int digits = 1;
while(n) {
n/=10;
digits *= 10;
}
digits = digits/10;
n = n_copy;
stringstream line1, line2, line3;
while (n) {
int d = n / digits;
n = n % digits;
digits /= 10;
line1 << top_line[d] << " ";
line2 << middle_line[d] << " ";
line3 << bottom_line[d] << " ";
}
cout <<endl << line1.str() << endl << line2.str() << endl << line3.str() << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewoJY2hhciB0b3BfbGluZVsxMF1bNF0gPSAgICB7IiMjIyIsICIgICMiLCAiIyMgIiwgIiMjIyIsICIjICMiLCAiICMjIiwgIiMgICIsICIjIyMiLCAiIyMjIiwgIiMjIyIgfTsKCWNoYXIgbWlkZGxlX2xpbmVbMTBdWzRdID0geyIjICMiLCAiICAjIiwgIiAjICIsICIgIyMiLCAiIyMjIiwgIiAjICIsICIjIyMiLCAiICAjIiwgIiMjIyIsICIjIyMiIH07IC8vbWFrZSBzaW1pbGFyIHRvIHRvcF9saW5lOwoJY2hhciBib3R0b21fbGluZVsxMF1bNF0gPSB7IiMjIyIsICIgICMiLCAiICMjIiwgIiMjIyIsICIgICMiLCAiIyMgIiwgIiMjIyIsICIgICMiLCAiIyMjIiwgIiAgIyIgfTsgLy9tYWtlIHNpbWlsYXIgdG8gdG9wX2xpbmU7CglwcmludGYoIkVudGVyIGEgbnVtYmVyOiIpOwoJaW50IG47CQoJc2NhbmYoIiVkIiwgJm4pOwoJaW50IG5fY29weSA9IG47CgkvLyBXZSBjb3VudCB0aGUgbnVtYmVyIG9mIGRpZ2l0cyBpbiBuOwoJaW50IGRpZ2l0cyA9IDE7Cgl3aGlsZShuKSB7CgkJbi89MTA7CiAgICAJZGlnaXRzICo9IDEwOwoJfQoJZGlnaXRzID0gZGlnaXRzLzEwOwoJbiA9IG5fY29weTsKCXN0cmluZ3N0cmVhbSBsaW5lMSwgbGluZTIsIGxpbmUzOwoJd2hpbGUgKG4pIHsKICAgIAlpbnQgZCA9IG4gLyBkaWdpdHM7CiAgICAJbiA9IG4gJSBkaWdpdHM7CiAgICAJZGlnaXRzIC89IDEwOyAKICAgIAlsaW5lMSA8PCB0b3BfbGluZVtkXSA8PCAiICAgIjsKICAgIAlsaW5lMiA8PCBtaWRkbGVfbGluZVtkXSA8PCAiICAgIjsKICAgIAlsaW5lMyA8PCBib3R0b21fbGluZVtkXSA8PCAiICAgIjsKCX0KCWNvdXQgPDxlbmRsIDw8ICBsaW5lMS5zdHIoKSA8PCBlbmRsIDw8IGxpbmUyLnN0cigpIDw8IGVuZGwgPDwgbGluZTMuc3RyKCkgPDwgZW5kbDsKfQ==