将数字1到9填入下面圆圈里,每个数字只使用一次,使得三角形三条边之和相等
将数字1到9填入下面圆圈里,每个数字只使用一次,使得三角形三条边之和相等。求出所有解。
OO OO O
O O O O
这题目怎么解?后来才知道老师靠试的,给出了一个答案。既然靠试,这种苦差事还不如写段小程序来穷举,还能提高孩子学编程的兴趣。
思路是这样的。将所圆圈定义如下:
a0a1 a8a2 a7
a3 a4 a5 a6
为了避免重复,令:
a0<a3<a6
a1<a2
a4<a5
a7<a8
开始编程,语言Python
#检查是否重复
def unique(a):return a[0] < a[3] and a[3] < a[6]\and a[1] < a[2] and a[4] < a[5]\and a[7] < a[8]#验证三边和是否相等
def verify(a):s = sum(a[6:]) + a[0]return sum(a[0:4]) == s and sum(a[3:7]) == s#输出解
def solution(a):print(' %d' % a[0])print(' %d %d' % (a[1], a[8]))print(' %d %d' % (a[2], a[7]))print('%d %d %d %d' % (a[3], a[4], a[5], a[6]))print('') # 空一行#用全排列搜索所有解
from itertools import permutationsn = 0 #解的数量
for a in permutations(range(1, 10)):if verify(a) and unique(a):n += 1print('%d# sum=%d' % (n, sum(a[0:4])))solution(a)
答案还不少,18个。
1# sum=1715 79 6
2 4 8 32# sum=1915 89 3
4 2 6 73# sum=1716 98 4
2 5 7 34# sum=1916 98 2
4 3 5 75# sum=2016 78 3
5 2 4 96# sum=2024 79 3
5 1 6 87# sum=1925 69 4
3 1 8 78# sum=2026 97 1
5 3 4 89# sum=1926 98 1
3 4 5 710# sum=2132 69 4
7 1 5 811# sum=2034 98 1
5 2 6 712# sum=2134 78 2
6 1 5 913# sum=2135 96 1
7 2 4 814# sum=2135 87 1
6 2 4 915# sum=2042 79 3
5 1 8 616# sum=2043 98 1
5 2 7 617# sum=2372 46 3
8 1 5 918# sum=2373 65 1
8 2 4 9
将数字1到9填入下面圆圈里,每个数字只使用一次,使得三角形三条边之和相等相关推荐
- 数字1-9依次排列填入符号+或-,结果为100
Q: 数字1-9依次排列:1,2,3,4,5,6,7,8,9:在每两个数之间填"+"或"-",或不填,如:12+3-4+5+6+7+8+9.使它的值恰好等于10 ...
- 2014年去哪儿网笔试题--一个10*10的矩阵(可以理解为棋盘),随时生成一组数据填入矩阵,任何一个位置的数字除4进行计算,按余数着色......
一个10*10的矩阵(可以理解为棋盘),随时生成一组数据填入矩阵,任何一个位置的数字除4进行计算,按余数着色,余数为0着色为red,1为blue,2为green,3为black,可以理解为生成4中颜色 ...
- 把1,2,3…n*n 的数字按照顺时针螺旋的形式填入数字矩阵
从键盘输入一个整数(1~20) 则以该数字为矩阵的大小,把1,2,3-n*n 的数字按照顺时针螺旋的形式填入其中.例如: 输入数字2,则程序输出: 1 2 4 3 输入数字3,则程序输出: 1 2 3 ...
- 所谓“螺旋方阵”,是指对任意给定的N,将1到N×N的数字从左上角第1个格子开始,按顺时针螺旋方向顺序填入N×N的方阵里。本题要求构造这样的螺旋方阵。
所谓"螺旋方阵",是指对任意给定的N,将1到N×N的数字从左上角第1个格子开始,按顺时针螺旋方向顺序填入N×N的方阵里.本题要求构造这样的螺旋方阵. 这是最基本的思路 #inclu ...
- 用1、2、3、4、5、6、7、8、9这9个数字,填入□ 中使等式□□×□□□ = □□□□ 成立,每个数字恰好只用一次。
用1.2.3.4.5.6.7.8.9这9个数字,填入□ 中使等式□□×□□□ = □□□□ 成立,每个数字恰好只用一次. 以下是所有的7 个答案供参考: 12*483=5796 18*297=5346 ...
- 螺旋方阵 螺旋方阵题目描述所谓“螺旋方阵”,是指对任意给定的N,将1到N×N的数字从左上角第1个格子开始,按顺时针螺旋方向顺序填入N×N的方阵里。
所谓"螺旋方阵",是指对任意给定的N,将1到N×N的数字从左上角第1个格子开始,按顺时针螺旋方向顺序填入N×N的方阵里.本题要求构造这样的螺旋方阵. 输入 输入在一行中给出一个正整 ...
- 请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可
这是一个很好的算法 在leetcode 也曾出现,今天我们详细分析一下: 题目简介: /*** 请你判断一个 9 x 9 的数独是否有效.只需要 根据以下规则 ,验证已经填入的数字是否有效即可.** ...
- excel实现套用模板批量打印_#数据清洗#Excel数据批量填入Word模板
问题描述:把Excel中数据批量填入Word模板中的特定位置 今天小伙伴,遇到一个问题,他有一份一千多个不同城市的客户资料,同时,有一份word文档,他需要把Excel中的数据一条条填写到word中对 ...
- java实现顺时针螺旋填入
从键盘输入一个整数(1~20) 则以该数字为矩阵的大小,把 1,2,3-n*n 的数字按照顺时针螺旋的形式填入其中.例如: 输入数字 2,则程序输出: 1 2 4 3 输入数字 3,则程序输出: 1 ...
最新文章
- PyTorch LSTM,batch_first=True对初始化h0和c0的影响
- weblogic如何在linux扩容,如何在linux的weblogic上增加启动参数
- Python进阶:如何将字符串常量转化为变量?
- ad软件中的插座_STM32采集AD的输入阻抗问题(转)
- rsync linux 教程,rsync 用法教程
- 解决Maven:Cannot resolve com.oracle.ojdbc:ojdbc6:11.2.0.1.0报红找不到问题,解决方案亲测有效详细图文教程 问题描述(ojdbc6)
- 多种文件上传绕过手法
- 找电影最强攻略,最全资源站
- MATLAB中改变默认工作路径的方法
- 防盗报警器c语言程序,基于AT89C2051设计的无线防盗报警器 附程序
- linux磁盘分区详解
- 【年月】-单词学习记录(模板)
- win10修改本地密钥服务器,win10密钥服务器
- 【过关斩将】小伙子,请做一下自我介绍?
- 2020年12月统考练习题
- 解决图片处理后旋转问题
- Python GUI编程—Tkinter实战一(生日快乐小程序)
- 由人眼追踪技术想到的
- 微信公众号笔记(二)
- 1000个瓶子里面999瓶是水,多少次试验确定哪瓶是毒药
热门文章
- 用海伦公式计算三角形的周长与面积
- XCP协议和A2L文件–A2L(ASAP2)解析
- 2018年1月iOS招人心得(附面试题)- 答案整理
- 怎样制作BT种子文件,即torrent后缀的文件?
- .net framework MVC ,API, 支持OAS3
- java开源运维平台_推荐一个:开源自动化运维开发平台(IT Automatic Develop Platform)...
- 原生JS实现雪花飘落的效果
- linux 命令总结大全
- 凤凰牌老熊对支付的系统讲解
- 每日一皮:朋友圈集赞原来还可以这样...