- 浏览: 237218 次
- 性别:
- 来自: 常州
文章分类
- 全部博客 (165)
- Java基础 (49)
- 开发工具 (3)
- Python基础 (1)
- Oracle基础 (9)
- Java 符号计算 (0)
- 计算机基本原理 (10)
- SQL (6)
- javascript (16)
- HTML (2)
- XML (4)
- 程序员之路 (7)
- JDBC (1)
- Unicode (0)
- 字符编码 (3)
- JSP基础 (2)
- Servlet&JSP (9)
- MySQL基础 (1)
- UML基础 (1)
- Hibernate (2)
- Java包 (1)
- Spring (1)
- Struts2 (9)
- 系统命令 (1)
- Tomcat (1)
- Windows (1)
- Android (1)
- C#基础 (14)
- HTML5 (1)
- .NET基础 (1)
- 数据库基础 (2)
- ASP.NET基础 (7)
- 开源Java (3)
- 趣味算法 (1)
- 面向对象思想 (1)
- 软件应用 (1)
- Web工程 (1)
- jquery (2)
- JPA (0)
- 设计模式 (0)
最新评论
-
静夜独窗:
JavaBean组件能说的具体一点吗,我感觉这样说理解的不清晰 ...
EL 表达式语言 -
静夜独窗:
在Java中,不同字符集编码的转换是通过Unicode作为中介 ...
JavaWeb中的乱码产生与解决方案
24点计算器。
精简版:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf8" /><script type="text/javascript">function $(id){return document.getElementById(id)}window.onload=i;function i(){$('c').onclick=c}function c(){var n=$('n').value;$('a').innerHTML="正在计算";var q=n.split(" ");if(q.length!=4){alert("您的输入有误");return}var w=new Array(q.length);for(var i=0;i<q.length;i++){w[i]=i}var n=f(q.length);var o=['+','-','*','/'];var s="";for(var i=1;i<=n;i++){for(var j=0;j<4;j++){for(var k=0;k<4;k++){for(var l=0;l<4;l++){var a=q[w[0]];var b=q[w[1]];var c=q[w[2]];var d=q[w[3]];s=a+o[j]+b+o[k]+c+o[l]+d;if(y(s)=='s')return;s='('+a+o[j]+b+')'+o[k]+c+o[l]+d;if(y(s)=='s')return;s=a+o[j]+'('+b+o[k]+c+')'+o[l]+d;if(y(s)=='s')return;s='('+a+o[j]+b+o[k]+c+')'+o[l]+d;if(y(s)=='s')return;s='('+a+o[j]+b+')'+o[k]+'('+c+o[l]+d+')';if(y(s)=='s')return;s='(('+a+o[j]+b+')'+o[k]+c+')'+o[l]+d;if(y(s)=='s')return;s='('+a+o[j]+'('+b+o[k]+c+'))'+o[l]+d;if(y(s)=='s')return;s=a+o[j]+'(('+b+o[k]+c+')'+o[l]+d+')';if(y(s)=='s')return;s=a+o[j]+'('+b+o[k]+'('+c+o[l]+d+'))';if(y(s)=='s')return}}}w=p(w)}$('a').innerHTML="无解"}function y(s){try{if(window.eval(s)>23.999999&&window.eval(s)<24.000001){$('a').innerHTML=s;return's'}}catch(e){}}function f(n){if(n==2){return 2}else{return n*f(n-1)}}function p(w){var length=w.length;var i=0;for(i=length-1;i>0;i--){if(w[i-1]<w[i]){break}}if(i==0){return w}var j=0;for(j=length-1;j>i;j--){if(w[j]>w[i-1]){break}}var tmp=w[i-1];w[i-1]=w[j];w[j]=tmp;while(i<length-1){tmp=w[i];w[i]=w[length-1];w[length-1]=tmp;i++;length--}return w}</script></head><body>请输入四个数字,数字用单个空格分割。例:"1 2 3 4"。<br><br>输入:<input type="text" id="n" /><input type="button" id="c" value="计算" /><p id="a"></p></body></html>
页面:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf8" /> <script src="24.js"></script> </head> <body> 请输入四个数字,数字用空格分割。例:"1 2 3 4"。<br><br> 输入:<input type="text" id="numbers" /><input type="button" id="calc" value="计算" /> <p id="answer"></p> </body> </html>
javascript:
function $(id){ return document.getElementById(id); } window.onload=init; function init(){ $('calc').onclick=click; } function click(){ var numbertext=$('numbers').value; $('answer').innerHTML="正在计算"; var arrNum=numbertext.split(" "); // alert(arrNum); //校验 if(arrNum.length!=4){ alert("您的输入有误"); return; } //初始化字典数组 // var indexarray=[0,1,2,3]; var indexarray=new Array(arrNum.length); for(var i=0;i<arrNum.length;i++){ indexarray[i]=i; } //阶乘 var n=24; var n=factorial(arrNum.length); var o=['+','-','*','/']; var str_calc=""; //开始计算 for(var i=1;i<=n;i++){ for(var j=0;j<4;j++){ for(var k=0;k<4;k++){ for(var l=0;l<4;l++){ var a=arrNum[indexarray[0]]; var b=arrNum[indexarray[1]]; var c=arrNum[indexarray[2]]; var d=arrNum[indexarray[3]]; str_calc=a+o[j]+b+o[k]+c+o[l]+d; if(calc24(str_calc)=='s')return ; str_calc='('+a+o[j]+b+')'+o[k]+c+o[l]+d; if(calc24(str_calc)=='s')return ; str_calc=a+o[j]+'('+b+o[k]+c+')'+o[l]+d; if(calc24(str_calc)=='s')return ; str_calc='('+a+o[j]+b+o[k]+c+')'+o[l]+d; if(calc24(str_calc)=='s')return ; str_calc='('+a+o[j]+b+')'+o[k]+'('+c+o[l]+d+')'; if(calc24(str_calc)=='s')return ; str_calc='(('+a+o[j]+b+')'+o[k]+c+')'+o[l]+d; if(calc24(str_calc)=='s')return ; str_calc='('+a+o[j]+'('+b+o[k]+c+'))'+o[l]+d; if(calc24(str_calc)=='s')return ; str_calc=a+o[j]+'(('+b+o[k]+c+')'+o[l]+d+')'; if(calc24(str_calc)=='s')return ; str_calc=a+o[j]+'('+b+o[k]+'('+c+o[l]+d+'))'; if(calc24(str_calc)=='s')return ; } } } indexarray=pai(indexarray); } $('answer').innerHTML="无解"; } function calc24(str_calc){ try{ if(window.eval(str_calc)>23.999999 && window.eval(str_calc)<24.000001){ $('answer').innerHTML=str_calc; return 's'; } }catch(e){ } } function factorial(n){ if(n==2){ return 2; }else{ return n*factorial(n-1); } } function pai(indexarray){ var length = indexarray.length; //第一步,寻找最后一个正序,寻找方法:从后向前找。 var i = 0; for (i = length - 1; i > 0; i--) { if (indexarray[i - 1] < indexarray[i]) {// 则array[i-1],array[i]即为一个正序。 break; } } //如果没找到,也就是到了最后的一个。 if(i==0){ return indexarray; } // 第二步,从后往前找一个比array[i-1]大的第一个数字。 var j = 0; for (j = length - 1; j > i; j--) { if (indexarray[j] > indexarray[i - 1]) { break; } } // 第三部,交换array[i-1],array[j] var tmp = indexarray[i - 1]; indexarray[i - 1] = indexarray[j]; indexarray[j] = tmp; // 最后一步,把i-1后面(从i-2开始至length-1)的序列反序。 // 反序 while (i < length - 1) { tmp = indexarray[i]; indexarray[i] = indexarray[length - 1]; indexarray[length - 1] = tmp; i++; length--; } //反序完毕即即一次排列结束。 return indexarray; }
发表评论
-
jQuery操作iframe
2013-08-15 16:02 0function _getIFrameDocument(i ... -
js获取选中内容
2013-06-07 10:47 2927现在很多网站,特别是比较大的网站,都有这样的功能:选中一 ... -
利用jquery批量下载verycd资源
2013-06-01 22:46 1277verycd不能下载。但是有些资源还是处于发布状态,“下载选 ... -
jquery基础
2013-06-15 19:01 1273jquery代码风格 1.使用 ... -
JQuery Ajax
2012-11-17 22:44 29一直不太喜欢jquery。因为感觉如果jquery用多了,js ... -
ajax与缓存
2012-11-17 22:03 14在使用ajax不断请求服务器的时候可能会因为浏览器缓存而导致无 ... -
JavaScript 打印机 打印页面
2012-10-27 10:20 798打印方法: window.print() 调用该方IE, ... -
My计算库(JS版本)
2012-10-07 15:56 847方矩阵 function SquareMatrix(d ... -
这是什么?
2012-10-07 15:51 0不得不吐槽一下Java的日期处理。太不爽了。 Date ... -
JavaScript:键盘事件
2012-09-28 15:22 6070一. 浏览器的按键事件 浏览器有三种按键事件类型:keyd ... -
2维函数绘图 html5版
2012-09-22 15:58 862<html> <hea ... -
简单物理模拟
2012-09-11 00:46 953晚上,看完神探夏洛克之后写的。还需要再多研究研究,感觉运 ... -
正则表达式验证器
2012-07-20 13:54 872javascript写的正则表达式验证器。凑活着用吧。 ... -
Ajax基础
2012-05-16 23:57 1168Ajax,即Asynchronous JavaScrip ... -
<a>的href中放js代码 与 <img> usemap属性
2012-03-31 19:05 965<a>的href属性可以执行javascript代 ... -
google眼睛的实现
2012-03-30 17:07 1233没事写的. js实现眼睛随鼠标运动.就是眼睛一直盯着鼠标看. ... -
javascript获取css盒子模型的一些值
2012-03-28 18:41 1069首先无法用style属性来获取任意元素的的css信息.styl ... -
灵动的JavaScript
2012-04-03 18:17 850JavaScript,弱类型动态脚本语言,浏览器嵌入式语言。简 ... -
小练习javascript
2012-03-21 17:41 1023javascript小练习:九九乘法表,金字塔,实心菱形,空心 ...
相关推荐
JavaScript算24点小游戏是一种基于数字运算的智力挑战游戏,目标是通过加、减、乘、除以及括号运算使得四张扑克牌的点数计算结果等于24。在这个项目中,我们用JavaScript来实现这一游戏逻辑。JavaScript,简称JS,是...
JavaScript编写的小游戏“计算二十四”是一种非常有趣且富有挑战性的数学智力游戏,旨在锻炼玩家的逻辑思维和快速计算能力。这款游戏的目标是通过基本的数学运算(加法、减法、乘法、除法)将四张牌上的数字组合成24...
JavaScript中的小数点精确计算是开发者经常会遇到的一个挑战。由于JavaScript内部使用的是IEEE 754标准来存储和处理浮点数,这可能导致在进行小数运算时出现精度丢失问题,尤其是在涉及大数字或者循环计算时。本篇将...
### JavaScript时间计算知识点详解 #### 一、背景介绍 在Web开发中,处理日期与时间是常见的需求之一。JavaScript作为一种广泛应用于网页开发的语言,提供了强大的日期处理功能。本文将通过一个具体的示例来探讨...
用Javascript实现简单的计算功能
根据提供的文件信息,我们可以归纳出以下关于“JavaScript天数计算”的相关知识点: ### JavaScript日期对象与时间计算 在JavaScript中,日期对象是处理时间和日期的主要工具。通过使用`Date`对象,可以执行诸如...
二、JavaScript与表单交互 1. 获取表单元素:JavaScript可以通过`document.getElementById`, `document.querySelector`, `document.querySelectorAll`等方法获取到表单中的元素。 2. 监听事件:使用`...
Jmat.js 是一个 JavaScript 的数学计算库。支持复杂的数学函数和统计。 标签:Jmatjs
项目:使用 JavaScript 计算身体质量指数 (BMI) 并附带源代码 身体质量指数 (BMI) 计算器是一个使用 HTML5、CSS 和 JavaScript 开发的简单项目。该项目用于检查您的身体质量指数 (BMI)。通过 BMI 值,您可以检查自己...
JavaScript计算性能对比研究 本文对JavaScript的计算性能进行了研究,对比了JavaScript和主流编程语言Java、C++、MATLAB等语言的计算能力、数据精度以及处理时间。研究发现,在较大迭代次数条件下,JavaScript与C++...
JavaScript 游戏24点是一种基于数字计算的益智游戏,目标是通过加、减、乘、除等基本数学运算,将四张扑克牌上的数字组合成24。在这个源码中,我们可以深入理解JavaScript语言在实现游戏逻辑、用户交互以及算法设计...
24点游戏javascript版本,另有计算个人所得税/反算个人所得税/网络测速链接
这个“JavaScript例子——计算”很可能是提供了一些关于使用JavaScript进行计算的实例代码,帮助开发者理解如何利用JavaScript处理数学计算、逻辑运算或者更复杂的算法。 在JavaScript中,计算主要涉及以下几个方面...
基于JavaScript计算斐波那契数列!!!!
由于二进制不能精确表示所有十进制小数,某些十进制数在二进制中会变成无限循环小数。例如: - **0.1** 在二进制表示为:`0.000110011001100110011...` - **0.2** 在二进制表示为:`0.00110011001100110011...` ...
javascript版本的轨道六根数计算卫星位置的函数 /* 参数例子: orbitPara = { o: 20,//升交点赤径(单位度) i: 30,//轨道倾角(单位度) w: 10,//近地点角距(单位度) a: 7000e+3,//半长轴(单位米) e: 0.5,//离心...
这个函数会解析当前显示的表达式,然后使用JavaScript的内置`eval()`函数或者自定义的解析和计算方法来得出结果。请注意,`eval()`虽然方便,但因为它执行任意代码,所以可能存在安全风险,在实际项目中应谨慎使用。...
在21点游戏中,JavaScript可能会用于处理发牌逻辑、计算手牌点数、决定玩家和庄家的行为、更新游戏状态以及与用户交互的界面更新。 压缩包中的“cards”文件可能包含了游戏中关于卡片的图像或数据结构。在21点游戏...