找回密码
 加入
搜索
楼主: kn007

据说是微软的一道逻辑题目的算法。。。

 火... [复制链接]
发表于 2012-1-17 19:21:21 | 显示全部楼层
那帖子很纠结...
发表于 2012-2-1 12:24:42 | 显示全部楼层
看看答案是什么
发表于 2012-2-2 01:03:00 | 显示全部楼层
回帖看看自己能不能行
发表于 2012-11-8 11:11:07 | 显示全部楼层
参考下大神思路.
发表于 2012-11-8 18:53:50 | 显示全部楼层
找不到突破口,看看高手思路~
发表于 2012-11-9 06:54:44 | 显示全部楼层
凑个热闹    看看大神又出什么了
发表于 2012-11-10 23:55:19 | 显示全部楼层
这个只会用暴力了
#include <array.au3>
Local $array[10],$result[1]=[1]
For $array[0] =1 To 4
        For $array[1] =1 To 4
                For $array[2] =1 To 4
                        For $array[3] = 1 To 4
                                For $array[4] =1 To 4
                                        For $array[5] =1 To 4
                                                For $array[6] =1 To 4
                                                        For $array[7] =1 To 4
                                                                For $array[8] =1 To 4
                                                                        For $array[9] =1 To 4
                                                                                If hs1() And hs2() And hs4() And hs5() And hs6() And hs7() And hs8() And hs9() And hs10() Then
                                                                                        $result[0]+=1
                                                                                        ReDim $result[$result[0]]
                                                                                        $result[$result[0] -1]=$array[0]&","&$array[1]&","&$array[2]&","&$array[3]&","&$array[4]&","&$array[5]&","&$array[6]&","&$array[7]&","&$array[8]&","&$array[9]
                                                                                EndIf
                                                                        Next
                                                                Next
                                                        Next
                                                Next
                                        Next
                                Next
                        Next
                Next
        Next
Next
_ArrayDisplay($result)
Func hs1()
        Local $i,$count=0
        For $i=0 To 9
                If $array[$i] = 1 Then $count+=1
        Next
        If $count < 6 And $count > 1 Then Return 1
        Return 0
EndFunc
Func hs2()
        Local $i,$count=0
        For $i=0 To 8
                If $array[$i] = 1 And $array[$i+1] =2 Then $count+=1
        Next
        If $count = $array[1] Then Return 1
        Return 0
EndFunc
Func hs4()
        If $array[3] + $array[7] = 5 Then Return 1
        Return 0
EndFunc
Func hs5()
        If $array[4] = $array[6] Or $array[4] = $array[7] Or $array[4] = $array[8] Or $array[4] = $array[9] And $array[6]+$array[7]+$array[8]+$array[9] = 10 Then Return 1
        Return 0
EndFunc
Func hs6()
        Local $i ,$count=0
        For $i = 0 To 7
                If $array[$i] = 3 And $array[$i+1] = 3 And $array[$i+2] = 3 Then $count+=1
        Next
        If $count = 4 - $array[5] Then Return 1
        Return 0
EndFunc
Func hs7()
        If $array[0]=$array[6] Then Return 1
        Return 0
EndFunc
Func hs8()
        If $array[7] = $array[0] Or $array[7] = $array[1] Or $array[7] = $array[2] Or $array[7] = $array[3] And $array[0]+$array[1]+$array[2]+$array[3] = 10 Then Return 1
        Return 0
EndFunc
Func hs9()
        Switch $array[0]+$array[1]+$array[2]+$array[3]+$array[4]
                Case 7
                        If $array[8] = 1 Then Return 1
                        Return 0
                Case 10
                        If $array[8] = 2 Then Return 1
                        Return 0
                Case 13
                        If $array[8] = 3 Then Return 1
                        Return 0
                Case 16
                        If $array[8] = 4 Then Return 1
                        Return 0
                Case Else
                        Return 0
        EndSwitch
EndFunc
Func hs10()
        Switch $array[5]+$array[6]+$array[7]+$array[8]+$array[9]
                Case 4
                        If $array[9] = 1 Then Return 1
                        Return 0
                Case 7
                        If $array[9] = 2 Then Return 1
                        Return 0
                Case 10
                        If $array[9] = 3 Then Return 1
                        Return 0
                Case 13
                        If $array[9] = 4 Then Return 1
                        Return 0
                Case Else
                        Return 0
        EndSwitch
EndFunc
发表于 2012-12-8 20:03:05 | 显示全部楼层
看看是什么题目
发表于 2012-12-10 13:11:04 | 显示全部楼层
学习一下,看看会吗。
发表于 2013-11-12 23:39:34 | 显示全部楼层
必须要看看
发表于 2013-11-13 21:45:39 | 显示全部楼层
看看啊。是什么呢。
发表于 2013-12-5 16:38:08 | 显示全部楼层
回了再看OO
发表于 2014-1-7 01:04:14 | 显示全部楼层
看看是啥 题目这么给力
发表于 2014-12-29 10:06:28 | 显示全部楼层
看看,自己的能力到哪
发表于 2015-1-4 08:45:35 | 显示全部楼层
回复 1# kn007


    这个可以有
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-26 22:43 , Processed in 0.116387 second(s), 13 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表