资 源 简 介
应用背景
这是蓝桥杯往年的一个题目,类似的题目有六角填数、4*4魔方阵等。题目如下图:
将1,2,3,...19填进去,图中已经填了两个数15和13,填完后要求每条直线上的数字之和相等,图中共有十五条直线。
关键技术代码在VS2010上运行。 设和为a, 则a*15/3=(1+19)/2*19 所以 a=38 前两个数已经填好,开始填第三个数,将满足vis=0的数依次填进去。填完第三个数,第一行已经形成了直线,判断第一行的和是不是38. 填完第七个数,新增加了一条直线(第二行),判断它的和。填完第八个数,增加了一条线(45°方向),判断其和。以此类推。程序关键是:每填完一个数,看有没有新增加的直线,并判断数字和,不能全部填完19个数再判断,因为计算量太大,程序运行不出来。