发新话题
打印

[原创]JS版24点计算程序

[原创]JS版24点计算程序

演示:http://nowgoo.dosin.net/24.htm

我不是信工院的,没学过数据结构,所以不晓得什么是栈也不晓得什么是波兰表达式
我只是一个做网页的(高手看不起就算了),学了点JS,看到论坛上有人在问24点的问题,就花点时间写了个JS版的24点程序

实在想不出什么高明的算法,其实我JS也是菜鸟,就晓得用循环和数组,弄了一个多小时,还是把它给整出来了

基本思路:算出24,无非两种途径:
1、先两两运算,再把两个数进行运算
2、累积运算

我稍微扩展了一下“运算”的概念,即在加、减、乘、除的基础上添加“被减”和“被除”(地球人都知道“被加”和“被乘”对结果没有影响):
function f(Num1,Num2,Flag){
switch (Flag){
case 0:return (Num1+Num2);
case 1:return (Num1-Num2);
case 2:return (Num1*Num2);
case 3:return (Num1/Num2);
case 4:return (Num2-Num1);
case 5:return (Num2/Num1);
}
}

呵呵,这样一来就可以全部用循环搞定了:
首先,判断文本框中的数据是否合法;
如果不合法,则给出提示,退出;如果合法,把四个数字存到数组InputArr;
然后嘛,计算这四个数的排列,存入字符串ArrStr中——我说了我不晓得什么入栈出栈,直接存入数组的话不

好判断是否有重复元素
最后就是分两种情况计算了,很简单吧~~:P
[b][size=1][face=Tahoma][url=http://www.my229.com/blog/]$Nowgoo->Blog();[/url][/face][/size][/b]

TOP

发新话题

本论坛言论纯属发表者个人意见,与 青韶论坛 立场无关
My73_com 青韶论坛|湘潭大学最大的民间学生论坛 我的朋友,我的家!
本社区为 非官方性、非盈利性 与任何官方无责任关系,不隶属于任何官方机构。