#include <stdio.h>
int main(void)
{
int i = 0, j = 0;
int group = 0, left = 0, right = 0; // 그룹의 수가 층의 수가 된다.
int width = 0, min_width = 0, add_width = 0, num_of_add_width = 0;
fputs("몇 줄에 출력할지 숫자 입력 : ", stdout
);
left = 2;
min_width = 8 / group;
num_of_add_width = 8 % group;
for (i = 0; i < group * 9; i++)
{
add_width = (num_of_add_width * 9 > i ? 1 : 0);
width = min_width + add_width;
right = i % 9 + 1;
if (i != 0 && i % 9 == 0)
for (j = 0; j < width; j++)
{
printf("%d*%d=%3d ", left
, right
, left
*right
); left++;
}
if (i % 9 != 8)
left -= width;
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbih2b2lkKQp7CglpbnQgaSA9IDAsIGogPSAwOwoJaW50IGdyb3VwID0gMCwgbGVmdCA9IDAsIHJpZ2h0ID0gMDsJCS8vIOq3uOujueydmCDsiJjqsIAg7Li17J2YIOyImOqwgCDrkJzri6QuCglpbnQgd2lkdGggPSAwLCBtaW5fd2lkdGggPSAwLCBhZGRfd2lkdGggPSAwLCBudW1fb2ZfYWRkX3dpZHRoID0gMDsKCglmcHV0cygi66qHIOykhOyXkCDstpzroKXtlaDsp4Ag7Iir7J6QIOyeheugpSA6ICIsIHN0ZG91dCk7CglzY2FuZigiJWQiLCAmZ3JvdXApOwoJcHV0YygnXG4nLCBzdGRvdXQpOwoKCWxlZnQgPSAyOwoJbWluX3dpZHRoID0gOCAvIGdyb3VwOwoJbnVtX29mX2FkZF93aWR0aCA9IDggJSBncm91cDsKCglmb3IgKGkgPSAwOyBpIDwgZ3JvdXAgKiA5OyBpKyspCgl7CgkJYWRkX3dpZHRoID0gKG51bV9vZl9hZGRfd2lkdGggKiA5ID4gaSA/IDEgOiAwKTsKCQl3aWR0aCA9IG1pbl93aWR0aCArIGFkZF93aWR0aDsKCQlyaWdodCA9IGkgJSA5ICsgMTsKCQkKCQlpZiAoaSAhPSAwICYmIGkgJSA5ID09IDApCgkJCXB1dGMoJ1xuJywgc3Rkb3V0KTsKCgkJZm9yIChqID0gMDsgaiA8IHdpZHRoOyBqKyspCgkJewoJCQlwcmludGYoIiVkKiVkPSUzZCAgIiwgbGVmdCwgcmlnaHQsIGxlZnQqcmlnaHQpOwoJCQlsZWZ0Kys7CgkJfQoKCQlpZiAoaSAlIDkgIT0gOCkKCQkJbGVmdCAtPSB3aWR0aDsKCQlwdXRjKCdcbicsIHN0ZG91dCk7CgoJfQoKCXJldHVybiAwOwp9