| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1710 人关注过本帖
标题:看一个小学一年级的数学题,数组
只看楼主 加入收藏
lhszwyg
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-3-29
结帖率:100%
收藏
 问题点数:0 回复次数:7 
看一个小学一年级的数学题,数组
有一些数,21、22……29,这9个数填到横着有三个圈,竖着有三行共九个圈的图中
让其横、竖、斜着相加都是相等的75。有几种填法。要是分别试一下也可以但小学生很难,那位高手出手编写个。我想了一下是不是可以把9个数放到一维数组织中,随即调用组合并符值给一个二位数组,在验证是不是符合条件,最后输出。
搜索更多相关主题的帖子: 数学题 小学 组织 条件 
2006-05-13 07:10
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
1,2,……,9,填到3*3方格中,横竖斜相加都是15,然后每个数加上20;
这个问题就完全等价于3阶魔方阵!!!
晕死!这种问题自己论坛上找!

对不礼貌的女生收钱......
2006-05-13 09:56
工藤♀新一
Rank: 1
等 级:新手上路
帖 子:140
专家分:0
注 册:2006-5-4
收藏
得分:0 
[IMG]C:\Documents and Settings\Administrator\My Documents\My Pictures[/IMG]

很高兴能和大家一起学习程序! QQ:114109098
2006-05-13 14:59
工藤♀新一
Rank: 1
等 级:新手上路
帖 子:140
专家分:0
注 册:2006-5-4
收藏
得分:0 

个人感觉2楼soft_wind你C语言很强~想加你好友,报上QQ来~
还有我也仔细想了一下3阶魔方阵的编程思路~
先定义一个a[3][3],然后让计算机随机复值1-9给a[3][3]并保证没重复重复数字
然后这样

[IMG]C:\Documents and Settings\Administrator\My Documents\My Pictures\魔方阵.bmp[/IMG]
不知道可否实现输出?

很高兴能和大家一起学习程序! QQ:114109098
2006-05-13 15:05
工藤♀新一
Rank: 1
等 级:新手上路
帖 子:140
专家分:0
注 册:2006-5-4
收藏
得分:0 
返回的方法可用goto语句

很高兴能和大家一起学习程序! QQ:114109098
2006-05-13 15:06
xiaxia421
Rank: 1
等 级:新手上路
帖 子:129
专家分:0
注 册:2005-10-15
收藏
得分:0 
就是一个3阶幻方的问题!
看一个例子把(奇数次幻方);
算法是这样的:
1.先将1放在第一行的中间位置。
2.从“2”开始直到N*N止,各数依次按下列规则放数:每个数放的行在前一个数的行数减1,列数加1.
3.如果上一个数的行数为1,则下一个数的行数为最后一行。当上一个数的列数为最后一列时,下一个列数为第一列。
4.如果下一个数应放的位置已被占,则下一个数放在上一个数的下面。

main()
{ int a[19][19],i,j,k,m,n,p;
p=1;
while(p==1)
{ printf("\n\n The program of print a 19*19 bewitching phalanx\n\n");
printf("Enter n (n is a odd number from 1 to 19):> ");
scanf("%d",&n);
if((n!=0)&&(n<=19)&&(n%2==1))
p=0;
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
a[i][j]=0;
j=n/2;
a[0][j]=1;
for(k=2;k<=n*n;k++)
{ i=i-1;
j=j+1;
if((i<0)&&(j>n-1))
{ i=i+2;
j=j-1;
}
else
{ if(i<0)
i=n-1;
if(j>n-1)
j=0;
}
if(a[i][j]==0)
a[i][j]=k;
else
{ i=i+2;
j=j-1;
a[i][j]=k;
}
}
printf("\n");
for(i=0;i<n;i++)
{ for(j=0;j<n;j++)
printf("%4d",a[i][j]);
printf("\n");
}
printf("\nThank you to use the program ! Pass any key to exit ...");
delay(20);
getch();
}

[fts=3][M][ftc=#F16C4D]ぃ~~è前方是绝路,希望在转角è~~ぃ[/ft][/M][/ft]
2006-05-13 15:46
zhaoxiangwei
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-4-29
收藏
得分:0 
以下是引用xiaxia421在2006-5-13 15:46:00的发言:
就是一个3阶幻方的问题!
看一个例子把(奇数次幻方);
算法是这样的:
1.先将1放在第一行的中间位置。
2.从“2”开始直到N*N止,各数依次按下列规则放数:每个数放的行在前一个数的行数减1,列数加1.
3.如果上一个数的行数为1,则下一个数的行数为最后一行。当上一个数的列数为最后一列时,下一个列数为第一列。
4.如果下一个数应放的位置已被占,则下一个数放在上一个数的下面。

main()
{ int a[19][19],i,j,k,m,n,p;
p=1;
while(p==1)
{ printf("\n\n The program of print a 19*19 bewitching phalanx\n\n");
printf("Enter n (n is a odd number from 1 to 19):> ");
scanf("%d",&n);
if((n!=0)&&(n<=19)&&(n%2==1))
p=0;
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
a[i][j]=0;
j=n/2;
a[0][j]=1;
for(k=2;k<=n*n;k++)
{ i=i-1;
j=j+1;
if((i<0)&&(j>n-1))
{ i=i+2;
j=j-1;
}
else
{ if(i<0)
i=n-1;
if(j>n-1)
j=0;
}
if(a[i][j]==0)
a[i][j]=k;
else
{ i=i+2;
j=j-1;
a[i][j]=k;
}
}
printf("\n");
for(i=0;i<n;i++)
{ for(j=0;j<n;j++)
printf("%4d",a[i][j]);
printf("\n");
}
printf("\nThank you to use the program ! Pass any key to exit ...");
delay(20);
getch();
}

这个有意思,不错啊,我要去好好看看。


2006-05-13 23:27
soft_wind
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:1430
专家分:0
注 册:2006-4-5
收藏
得分:0 
以下是引用工藤♀新一在2006-5-13 15:05:00的发言:

2楼soft_wind想加你好友,报上QQ来~

不好意思,上次没看到您这帖子,我是很乐意交朋友的,希望一起讨论的朋友可以加我qq:113669756

对不礼貌的女生收钱......
2006-05-14 17:39
快速回复:看一个小学一年级的数学题,数组
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024318 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved