2285357_ac_937ms_40k.c

来自「北大大牛代码 1240道题的原代码 超级权威」· C语言 代码 · 共 36 行

C
36 行
字号
#include <stdio.h>
#include <math.h>

int main()
{
	int a, b, k;
	int ta, tb;
	int i, j, n;

	while(scanf("%d",&n)&&(n+1))
	{
		for(i = 0; i < pow(3,n-1); i++,printf("\n"))
			for(j = 0; j < pow(3,n-1); j++)
			{
				k = n;
				ta = a = i;tb = b = j;
				s:;
				a /= pow(3,k-2);
				b /= pow(3,k-2);
				if((a==1&&a!=b)||(b==1&&a!=b))
				{
					printf(" ");
					continue;
				}
				a = (ta -= a*(pow(3,k-2)));
				b = (tb -= b*(pow(3,k-2)));
				k--;
				if(k)
					goto s;
				printf("X");
			}
		printf("-\n");
	}
	return 1;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?