首 页 | 新 闻 | 技术中心 | 第二书店 | 《程序员》 | 《开发高手》 | 社 区 | 黄 页 | 人 才
移 动专 题SUNIBM微 软微 创精 华Donews人 邮
我的技术中心 
我的分类 我的文档
全部文章 发表文章
专栏管理 使用说明



 RSS 订阅 
最新文档列表
Windows/.NET
.NET  (rss)    
Visual C++  (rss)    
Delphi  (rss)    
Visual Basic  (rss)    
ASP  (rss)    
JavaScript  (rss)    
Java/Linux
Java  (rss)    
Perl  (rss)    
综合
其他开发语言  (rss)    
文件格式  (rss)    
企业开发
游戏开发  (rss)    
网站制作技术  (rss)    
数据库
数据库开发  (rss)    
软件工程
其他  (rss)    

积极原创作者 
iiprogram (69)
qdzx2008 (50)
goodboy1881 (14)
wangchinaking (58)
fancyhf (1)
harrymeng (41)
yjz0065 (113)
coofucoo (105)
Drate (69)
lphpc (30)
CSDN - 文档中心 - Javascript 阅读:4467   评论: 4    参与评论
标题   称三次从12球中找出唯一但不知轻重的球     选择自 qiushuiwuhen 的 Blog
关键字   JAVASCRIPT
出处  

在12个小球中有一个和其他不同(或轻或重),现在先拿起笔,记下哪个球重或者轻,然后继续下面的游戏<br>
<select name=one></select>
<select name=two></select>
<select name=three></select>
<select name=four></select>

<script>
var arrSel=["one","two","three","four"];//arrSel定义了要修改的下拉框
var i=0,arrData=[];//arrData中搁的是数据,每条都显示各级的数据
arrData[i++]=["(1,2,3,4)比(5,6,7,8)","请先做前面的选择","请先做前面的选择","请先做前面的选择"]
arrData[i++]=["重","(1,2,5)比(3,6,9)","请先做前面的选择","请先做前面的选择"]
arrData[i++]=["重","重","(1)比(2)","请先做前面的选择"]
arrData[i++]=["重","重","重","1球比较重"]
arrData[i++]=["重","重","平","6球比较轻"]
arrData[i++]=["重","重","轻","2球比较重"]
arrData[i++]=["重","平","(7)比(8)","请先做前面的选择"]
arrData[i++]=["重","平","重","8球比较轻"]
arrData[i++]=["重","平","平","4球比较重"]
arrData[i++]=["重","平","轻","7球比较轻"]
arrData[i++]=["重","轻","(1)比(3)","请先做前面的选择"]
arrData[i++]=["重","轻","重","无解"]
arrData[i++]=["重","轻","平","5球比较轻"]
arrData[i++]=["重","轻","轻","3球比较重"]
arrData[i++]=["平","(9,10)比(1,11)","请先做前面的选择","请先做前面的选择"]
arrData[i++]=["平","重","(9)比(10)","请先做前面的选择"]
arrData[i++]=["平","重","重","9球比较重"]
arrData[i++]=["平","重","平","10球比较重"]
arrData[i++]=["平","重","轻","11球比较轻"]
arrData[i++]=["平","平","(1)比(12)","请先做前面的选择"]
arrData[i++]=["平","平","重","12球比较轻"]
arrData[i++]=["平","平","平","无解"]
arrData[i++]=["平","平","轻","12球比较重"]
arrData[i++]=["平","轻","(9)比(10)","请先做前面的选择"]
arrData[i++]=["平","轻","重","9球比较轻"]
arrData[i++]=["平","轻","平","10球比较轻"]
arrData[i++]=["平","轻","轻","11球比较重"]
arrData[i++]=["轻","(1,2,5)比(3,6,9)","请先做前面的选择","请先做前面的选择"]
arrData[i++]=["轻","重","(1)比(3)","请先做前面的选择"]
arrData[i++]=["轻","重","重","3球比较轻"]
arrData[i++]=["轻","重","平","5球比较重"]
arrData[i++]=["轻","重","轻","无解"]
arrData[i++]=["轻","平","(7)比(8)","请先做前面的选择"]
arrData[i++]=["轻","平","重","7球比较重"]
arrData[i++]=["轻","平","平","4球比较轻"]
arrData[i++]=["轻","平","轻","8球比较重"]
arrData[i++]=["轻","轻","(1)比(2)","请先做前面的选择"]
arrData[i++]=["轻","轻","重","2球比较轻"]
arrData[i++]=["轻","轻","平","6球比较重"]
arrData[i++]=["轻","轻","轻","1球比较轻"]
</script>
<script>
function qswhInit(num){
/******* by qiushuiwuhen(2002-5-15) ********/
 var i,j,arrTemp=[];
 for(i=0;i<num;i++)arrTemp[i]=document.all(arrSel[i]).options[document.all(arrSel[i]).selectedIndex].text
 if(num==arrSel.length){//这里处理最后的数据。
  return;
 }
 with(document.all(arrSel[num])){
  length=0
  for(i=0;i<arrData.length;i++){  
   for(j=0;j<num;j++)if(arrTemp[j]!=arrData[i][j])break;
   if(j!=num)continue;
   if(length==0||options[length-1].text!=arrData[i][num])
   options[length++].text=arrData[i][num];
  }
  onchange=new Function("qswhInit("+(num+1)+")");
  onchange();
 }
}
qswhInit(0);//初始化
</script>


相关文章
对该文的评论
jnkc ( 2004-04-15)
11有问题?
superhasty ( 2003-07-25)
有趣。我第一次遇到这个问题是暑假,想了两个小时吧!现在计算机只需要几秒钟就可以解出来。
emu ( 2003-07-25)
哈哈,我故意再走前冤秋水一下的。
yonghengdizhen ( 2003-07-24)
其实用树结构实现,可以写得更通用些,类似于哈夫曼编码算法
有没有考虑过给华容道游戏写解题算法?