tdcq7188 发表于 2012-5-14 10:43:33

来玩玩看看

netegg 发表于 2012-5-14 10:49:28

回复 1# 水木子

水木,这个问题我看了三天,始终有个问题,到底是要求问的问题,还是要求数,如果是第一种3次好像的不出结果,如果是第二种那就要看问的问题了

jj119120 发表于 2012-5-14 13:36:32

学习一下·········

yang_jun830913 发表于 2012-5-14 13:59:22

看看,顺便学习以下。

nnlenx 发表于 2012-5-14 17:33:58

看看水木子高手

netegg 发表于 2012-5-14 17:39:57

回复 18# happytc
赞下,要点所在

lark 发表于 2012-5-14 20:31:40

怎么什么,看看

netegg 发表于 2012-5-15 09:54:50

本帖最后由 netegg 于 2012-5-15 18:24 编辑

#include <Math.au3>
#include <array.au3>
Dim $s
$s = 3
main()
Func main()
    Local$input, $ret = '',   $i = 1
    MsgBox(0,0,'请记住一个数' & @CRLF & '10,11,12,13,14,15,16' & @CRLF & '17,18,19,20,21,22,23'& @CRLF & '24,25,26,27,28,29,30')
    Do
      $aA1 = _RandomUnique(21, 10, 30, 1)
      $s = _ArrayToString($aA1, ',', 1, 7)
      $s = _ArrayToString($aA1, ',', 8, 14)
      $s = _ArrayToString($aA1, ',', 15, 21)
      $input = InputBox('输入选定数所在行', $s & @CRLF & $s & @CRLF & $s, '')
      If @error Then Exit
      $ret &= $s[$input] & ','
      $i += 1
    Until $i = 4
    $aRet = StringSplit($ret, ',', 2)
    For $i In $aRet
      If UBound(_ArrayFindAll($aRet, $i)) = 3 Then
            $msg = MsgBox(4, 0, $i & @CRLF & 'exit?')
            If $msg = 6 Then Exit
            $s = 0
            $s = 3
            main()
      EndIf
    Next
EndFunc   ;==>main

zerobin 发表于 2012-5-15 17:52:13

回复看下。。

zerobin 发表于 2012-5-15 17:54:26

是以前玩的魔术扑克

sanmoking 发表于 2012-5-15 17:55:45

提问的列表内容能够完全随机排列,无迹可寻。。。提供选择的数量可扩展哦,当然得到答案的次数会相应增加。
**** Hidden Message *****

whitehead 发表于 2012-5-15 17:57:09

来学习思路

sunlewuyou 发表于 2012-5-15 18:21:48

今天是个平淡的日子!

sanmoking 发表于 2012-5-15 19:15:13

再来一个
**** Hidden Message *****

sanmoking 发表于 2012-5-15 19:25:04

楼上的代码,每次提供选择的选项是6,所以36个姓氏的,6的2次方是36,所以只用2次就可以选出结果来了,216个姓氏的,6的3次方,所以需要3次才能得到答案。
以此类推,7776个中间挑一个,每次提供6个选项,只需要5次就能找出来。。。因为7776等于6的5次方
页: 1 2 [3] 4 5 6 7
查看完整版本: 数字游戏,猜你所选择的是哪个数字。