チェス盤問題と織布理論
3137 ワード
これは織布理論の比較的良い論証プログラミング作品と言える.
#include
#include//
int main()
{
//for (int i = 1; i <= 8; i++)
/* {
for (int j = 1; j <= 8; j++)
if ((i + j) % 2 == 0)
{
printf(" ");
}
else
{
printf("*");
}
printf("
");
}*/
for (int c = 1; c <= 1000; c++)
{
int num;
printf(" ");
scanf_s("%d", &num);
int num3[100], num4[100];
int num5 = 0, num6 = 0;
for (int i = 1; i <= num * 8; i = i + 1)
{
for (int j = 0; j <= 7; j = j + 2)
{
if (i >= (1 + num*j) && i <= (num + num*j))
{
num3[num5] = i;
num5 += 1;
//printf("%d
", num5);
}
}
for (int m = 1; m <= 7; m = m + 2)
{
if (i >= (1 + num*m) && i <= (num + num*m))
{
num4[num6] = i;
num6 += 1;
// printf("%d
", num6);
}
}
}
/* for (int i = 0; i <= num5; i++)
{
printf("%d", num3[i]);
}
for (int i = 0; i <= num5; i++)
{
printf("%d", num4[i]);
}*/
int num1[8] = { 1,2,5,6,9,10,13,14 };
int num2[8] = { 3,4,7,8,11,12,15,16 };
for (int i = 1; i <= num * 8; i++)
{
for (int j = 1; j <= num * 8; j++)
{
for (int a = 0; a < num5; a++)
{
for (int b = 0; b < num6; b++)
{
if (i == num3[a] && j == num4[b])
{
printf("*");
}
else if (i == num4[b] && j == num3[a])
{
printf("*");
}
// /* else
// {
// printf(" ");
// }*/ // else , 4 for , ?
, , for ...
else if (i == num3[a] && j == num3[b])
{
printf(" ");
}
else if (i == num4[a] && j == num4[b])
{
printf(" ");
}
}
}
}
printf("
");
}
}
system("pause");
return 0;
}