10.12.13横竖相加得30

来源:百度知道 编辑:UC知道 时间:2024/09/22 17:18:25
3*3的表格,12在第1行中间,12在第2行第1个,13在第3行最后1个,怎么使横行,竖行,斜行的3个数字相加得30

结果
7 12 11
14 10 6
9 8 13

算法 :设一个未知数 X,位置在中间 就可以了 。对不对是 是不是你想要的啊

这道题没答案,你可以用下面的程序算一下:
#include<stdio.h>
void main()
{
int a[3][3]={0,10,0,12,0,0,0,0,13};
int i=1,j;
for(i=1;i<=30;i++)
{
a[0][0]=i;
a[0][2]=30-a[0][1]-a[0][0];
a[2][0]=30-a[0][0]-a[1][0];
a[1][1]=30-a[0][0]-a[2][2];
a[1][2]=30-a[1][0]-a[1][1];
a[2][1]=30-a[2][0]-a[2][2];
if((a[0][1]+a[1][1]+a[2][1]==30)&&(a[0][2]+a[1][2]+a[2][2]==30)&&(a[0][2]+a[1][1]+a[2][0]==30))
break;
}
if(i=30)
printf("no answer");
else
{
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%d ",a[i][j]);
printf("/n");
}
}
}