jmyhyu 发表于 2009-12-1 17:05:19

填数字游戏

把1、2、3、4、5、6、7、8、9、10
填进下面图片的圆圈中,每个数字必须也只能用一次,有直线连起来的数字的总和要等于24


大家用编程的方法解题吧
语言不行,越简单越好

jmyhyu 发表于 2009-12-1 17:12:41

例如:

wayne 发表于 2009-12-1 17:25:42

本帖最后由 wayne 于 2009-12-1 17:31 编辑

这道题可以在草稿纸上穷举,只需考虑六种情况

一共有四组解

jmyhyu 发表于 2009-12-1 17:35:43

4组这么少?

jmyhyu 发表于 2009-12-1 17:39:43

我用C++穷举了一下有1152中解法

mathe 发表于 2009-12-1 18:14:44

很多对称的情况的,每种情况根据对称性可以产生2*6*2*6=144种。如果楼上方法没错,应该共8种不同的情况

northwolves 发表于 2009-12-1 18:26:13

中间左右两环的数字和为17,只有4种情况: 8,9   9,8   7,10   10,7
上下有6种情况: 16 25   34435261

〇〇 发表于 2009-12-2 13:28:04

题目没说清楚,应该是3个菱形每个角上的数字和

〇〇 发表于 2009-12-2 13:42:22

左边24+右边24=48
所以中间上下=(1+10)*10/2-48=7
所以中间左右=24-7=17

〇〇 发表于 2009-12-2 13:55:10

假定从上到下,每行从左到右依次是
1 2 3
4 5 6 7
8 9 10

with t1 as(select level l from dual connect by level<=10) /* x9=7-x2,x6=17-x5*/
select count(*) from t1 x1,t1 x2,t1 x3,t1 x4,t1 x5,/*t1 x6,*/t1 x7,t1 x8,/*t1 x9,*/t1 x10
where x1.l+x4.l+x5.l+x8.l=24
and x2.l+x5.l+17-x5.l+x8.l=24
and x3.l+17-x5.l+x7.l+x10.l=24
and x1.l<x8.l and x2.l<7-x2.l and x3.l<x10.l
and x4.l<x5.l;

COUNT(*)
----------
       903

Elapsed: 00:00:04.12
页: [1] 2
查看完整版本: 填数字游戏