| 发表于:2007-01-23 10:30:4225楼 得分:0 |
从他楼主的意思来说的话: 第一个数是从123到329,这样一来的话我就把这206个数做个for循环,循环的目的就是把这206个对应的第二,第三个数组成一个9位的数(123246369),再进行一个if判断,把每一位的数相加看等于45不(1到9不重复的话相加就是45),这样就会得到21组每位相加为45的9位数。最后对这21组数进行一个if判断,把每一位的数相乘看等于362880不(1到9不重复的话相加就是362880),最后得到的就是楼上的结果。 下面是我用vb写的一段代码,望大家指点指点: private sub form_load() dim a, b, c, d, e, f, g as integer end sub private sub form_paint() for a = 123 to 329 g = 0 b = a * 2 c = a * 3 d = a & b & c for e = 1 to 9 g = g + mid(d, e, 1) next e if g = 45 then if mid(d, 1, 1) * mid(d, 2, 1) * mid(d, 3, 1) * mid(d, 4, 1) * mid(d, 5, 1) * mid(d, 6, 1) * mid(d, 7, 1) * mid(d, 8, 1) * mid(d, 9, 1) <> 362880 then else print a; " " & b; " " & c end if else end if next a end sub | | |
|