#include <stdio.h>
int main(void)
{
int i = 0, j = 0;
int group = 0, left = 0, right = 0; // 그룹의 수가 층의 수가 된다.
int width = 0, min_width = 0, max_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;
max_width = (num_of_add_width != 0) ? min_width + 1 : min_width;
left = (i / 9)*max_width + 2;
if (i != 0 && i % 9 == 0)
for (j = 0; j < width; j++)
{
printf("%d*%d=%3d ", left
+ j
, right
, (left
+ j
)*right
); }
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbih2b2lkKQp7CglpbnQgaSA9IDAsIGogPSAwOwoJaW50IGdyb3VwID0gMCwgbGVmdCA9IDAsIHJpZ2h0ID0gMDsJCS8vIOq3uOujueydmCDsiJjqsIAg7Li17J2YIOyImOqwgCDrkJzri6QuCglpbnQgd2lkdGggPSAwLCBtaW5fd2lkdGggPSAwLCBtYXhfd2lkdGggPSAwLCBhZGRfd2lkdGggPSAwLCBudW1fb2ZfYWRkX3dpZHRoID0gMDsKCglmcHV0cygi66qHIOykhOyXkCDstpzroKXtlaDsp4Ag7Iir7J6QIOyeheugpSA6ICIsIHN0ZG91dCk7CglzY2FuZigiJWQiLCAmZ3JvdXApOwoJcHV0YygnXG4nLCBzdGRvdXQpOwoKCWxlZnQgPSAyOwoJbWluX3dpZHRoID0gOCAvIGdyb3VwOwoJbnVtX29mX2FkZF93aWR0aCA9IDggJSBncm91cDsKCglmb3IgKGkgPSAwOyBpIDwgZ3JvdXAgKiA5OyBpKyspCgl7CgkJYWRkX3dpZHRoID0gKG51bV9vZl9hZGRfd2lkdGggKiA5ID4gaSA/IDEgOiAwKTsKCQl3aWR0aCA9IG1pbl93aWR0aCArIGFkZF93aWR0aDsKCQlyaWdodCA9IGkgJSA5ICsgMTsKCQltYXhfd2lkdGggPSAobnVtX29mX2FkZF93aWR0aCAhPSAwKSA/IG1pbl93aWR0aCArIDEgOiBtaW5fd2lkdGg7CgkJbGVmdCA9IChpIC8gOSkqbWF4X3dpZHRoICsgMjsKCgkJaWYgKGkgIT0gMCAmJiBpICUgOSA9PSAwKQoJCQlwdXRjKCdcbicsIHN0ZG91dCk7CgoJCWZvciAoaiA9IDA7IGogPCB3aWR0aDsgaisrKQoJCXsKCQkJcHJpbnRmKCIlZColZD0lM2QgICIsIGxlZnQgKyBqLCByaWdodCwgKGxlZnQgKyBqKSpyaWdodCk7CgkJfQoJCXB1dGMoJ1xuJywgc3Rkb3V0KTsKCX0KCglyZXR1cm4gMDsKfQ==