1到9九个数字,如何排列纵横斜向相加结果为15

2025-04-07 10:13:30
推荐回答(3个)
回答1:

这是九宫图问题。
填法有很多。
第一行:294
第二行:753
第三行:318
就是一种,然后顺次旋转,又可以得到另外不同的填法。

通常,是把这一列数的中间的数,也是这列数的平均数填在中间的格里。其余的8个数平均分成四对,最小和最大的两个数填在+字形的四个位置上。然后再依次填 上其它的就可以了。

回答2:

问的是编程题吗?

下面是源程序和运行结果:

#include

main()

{

int i,j,k,l,m,n,o,p,q;

for(i=1;i<=9;i++)

for(j=1;j<=9;j++)

if(i!=j)

{for(k=1;k<=9;k++)

if(k!=i && k!=j)

{for(l=1;l<=9;l++)

if(l!=i && l!=j && l!=k)

{for(m=1;m<=9;m++)

if(m!=i && m!=j && m!=k && m!=l)

{for(n=1;n<=9;n++)

if(n!=i && n!=j && n!=k && n!=l && n!=m)

{for(o=1;o<=9;o++)

if(o!=i && o!=j && o!=k && o!=l && o!=m && o!=n)

{for(p=1;p<=9;p++)

if(p!=i && p!=j && p!=k && p!=l && p!=m && p!=n && p!=o)

for(q=1;q<=9;q++)

if(q!=i && q!=j && q!=k && q!=l && q!=m && q!=n && q!=o && q!=p)

if(i+j+k==l+n+m && l+n+m==o+p+q && o+p+q==i+l+o && i+l+o==j+m+p && j+m+p==k+n+q && k+n+q==i+m+q && i+m+q==k+m+o)

printf("%d %d %d\n%d %d %d\n%d %d %d********横纵斜和是%d\n\n",i,j,k,l,m,n,o,p,q,i+j+k);

}}}}}}

}

回答3:

4 3 8
9 5 1
2 7 6