题目:
下面的算式是1...9这9个数字组合的,调整9个数字的位置(比如说 23 是2和3组合的,2和3可以调整位置成 32 ),让算式的结果等于 1 ,分母必须是两位数,分子是一位数,也就是结构和下面一样,数字不能重复。
1 4 7
--- + ---- + ---- = ?
23 56 89
可能你知道答案了。 但这里需要编写程序算出来。
程序实现:(sbljx)
global gNumList
on startmovie
gNumList=["1","2","3","4","5","6","7","8","9"]
end
on idle
if GetFromRandom() then
alert "found one"
halt
end if
end
on GetFromRandom
TCount=gNumList.count
tlist=gNumList.duplicate()
tlist1=[]
-----
repeat with i=1 to 9
m=random(tlist.count)
tlist1.add(tlist[m])
tlist.deleteAt(m)
end repeat
--------
if GetResult(tlist1) then
put tlist1
return true
end if
end
on GetResult l1
a1=value(l1[1])
b1=value(l1[2]&l1[3])
a2=value(l1[4])
b2=value(l1[5]&l1[6])
a3=value(l1[7])
b3=value(l1[8]&l1[9])
a=a1*b2*b3+a2*b1*b3+a3*b1*b2
b=b1*b2*b3
if a=b then
put a
put b
return true
end if
end
结果如下:
-- ["7", "6", "8", "9", "1", "2", "5", "3", "4]
更多讨论参考:http://www.aougu.net/bbs/read.php?topicid=2097
