<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta name="Author" content="Netdream Ltd. - Ma Li" />
<head>
<title>Order by des...destiny</title>
<style type="text/css">
body
{
font-size: 12px;
font-family: Corbel;
}
.clear
{
clear: both;
}
.count
{
float: left;
margin-right: 20px;
margin-bottom: 10px;
}
input[name='txtnums']
{
width: 30px;
}
#txtshow
{
font-size: 16px;
font-weight: bold;
letter-spacing: 5px;
color: #ff0000;
}
</style>
<script type="text/javascript">
var opArr = new Array("+", "-", "*", "/");
var target = 24;
function Plan(arr, len, target) {
for (var i = 0; i < len; i++) {
for (var j = i + 1; j < len; j++) {
var ji = [arr[i], arr[j]];
arr[j] = arr[len - 1];
for (var q = 0; q < opArr.length; q++) {
arr[i] = '(' + ji[q % 2] + opArr[q] + ji[(!(q % 2) * 1)] + ')';
if (Plan(arr, len - 1, target)) {
return true;
}
}
arr[i] = ji[0]; arr[j] = ji[1];
}
}
return (len == 1) && (eval(arr[0]) == target);
}
function Result(arr, target) {
if (Plan(arr, arr.length, target)) {
var str = arr[0].substring(1, arr[0].length - 1);
return arr[0].substring(1, arr[0].length - 1) + "=" + String(target);
} else { return "Can't write:" + target; }
}
function show() {
var numsArr = new Array();
var nums = document.getElementsByName("txtnums");
var txttarget = document.getElementById('lblresult').innerHTML;
for (var i = 0; i < nums.length; i++) {
if (!CheckInt(nums[i].value)) {
alert('Please Check Your Input Value! The Value must be an integer~');
return false;
}
numsArr.push(nums[i].value);
}
document.getElementById("txtshow").innerHTML = Result(numsArr, txttarget);
}
function CheckInt(input) {
var reg1 = /^\d+$/;
return reg1.test(input);
}
</script>
</head>
<body>
<div class="count">
<input type="text" name="txtnums" maxlength="4" />
</div>
<div class="count">
<input type="text" name="txtnums" maxlength="4" />
</div>
<div class="count">
<input type="text" name="txtnums" maxlength="4" />
</div>
<div class="count">
<input type="text" name="txtnums" maxlength="4" />
</div>
<div id="lblresult" style="display: none;">
</div>
<script>
document.getElementById('lblresult').innerText = target;
</script>
<div class="count">
<input id="btnshow" type="button" value="Click!" onclick="show()" /><br />
</div>
<div class="clear">
</div>
<div id="txtshow">
</div>
</body>
</html>

js计算24点的更多相关文章

  1. JS计算24节气的方法

    function getjq(yyyy,mm,dd){ mm = mm-1; var sTermInfo = new Array(0,21208,42467,63836,85337,107014,12 ...

  2. JS计算字符串所占字节数

    最近项目有个需求要用js计算一串字符串写入到localStorage里所占的内存,众所周知的,js是使用Unicode编码的.而Unicode的实现有N种,其中用的最多的就是UTF-8和UTF-16. ...

  3. js计算2个日期相差的天数,两个日期相差的天数,日期相隔天数

    js计算2个日期相差的天数,两个日期相差的天数,日期相隔天数 >>>>>>>>>>>>>>>>>& ...

  4. js计算两个日期的天数差值

    js计算两个日期的天数差值 通过两个日期计算这两个日期之间的天数差值 /** * 计算天数差的函数,通用 * @param sDate1 * @param sDate2 * @returns {Num ...

  5. Vue.js 计算属性是什么

    Vue.js 计算属性是什么 一.总结 一句话总结: 模板 表达式 维护 在模板中表达式非常便利,但是它们实际上只用于简单的操作.模板是为了描述视图的结构.在模板中放入太多的逻辑会让模板过重且难以维护 ...

  6. JS计算两个日期之间的天数

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. C语言-纸牌计算24点小游戏

    C语言实现纸牌计算24点小游戏 利用系统时间设定随机种子生成4个随机数,并对4个数字之间的运算次序以及运算符号进行枚举,从而计算判断是否能得出24,以达到程序目的.程序主要功能已完成,目前还有部分细节 ...

  8. js 计算快速统计中用到的日期

    前言 最近在做统计报表模块,其中查询条件用到了快速查询,主要为了方便客户统计查询常用的几个日期纬度,比如本周.上周.本月.上月.昨日. 使用js计算,主要用到了js Date. getDate().g ...

  9. js计算字符串的字节数和字符串与二进制的相互转化

    一.js计算字符串的字节数方法: //blob获取字符串的字节 var debug = "好的"; var blob = new Blob([debug],{type : 'tex ...

随机推荐

  1. Objective 多态

    多态的特点 1.没有继承就没有多态 2.代码的体现:父类类型的指针指向子类对象 3.好处:如果函数方法参数中使用的是父类类型,则可以传入父类和子类对象,而不用再去定义多个函数来和相应的类进行匹配了. ...

  2. MVVM

    MVVM 是 Model-View-ViewModel 的简写,MVVM 模式和 MVC 模式一样,主要目的是分离视图(View)和模型(Model) 接下来给大家分享一个总结的MVVM,来吧---- ...

  3. 条件运算符(?:)和 $""替代string.Format()

    1. 条件运算符(?:)根据Boolean表达式的值返回两个值之一.表达式如下: condition ? first_expression : second_expression 2. $" ...

  4. vs------连接MySQL

    转载: http://jingyan.baidu.com/article/8ebacdf023953f49f65cd589.html

  5. centos 安装atop& htop工具

    首先安装rpmforge   Install RPM for CentOS 5.x 32-BIT wget http://pkgs.repoforge.org/rpmforge-release/rpm ...

  6. JVM内存简单理解

    1.首先简单说一下CPU与内存之间的关系 CPU运转速度快,磁盘的读写速度远远不及CPU运转速度,所以设计了内存来缓冲CPU等待磁盘读写:随着CPU的发展,内存读写也远远跟不上CPU的读写速度,CPU ...

  7. Java——菜单组件

    import java.awt.Container; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; i ...

  8. Java Web学习笔记-Servle生命周期

    Servlet会在服务器启动或第一次请求该Servlet的时候开始生命周期,在服务器停止的时候结束生命周期. 无论请求多少次Servlet,最多只有一个Servlet实例.多个客户端并发请求Servl ...

  9. Javascript+Dom(加减乘除计算器)

    计算器介绍:只能进行加减乘除,提示用户输入数字,正则表达式限制用户只能输入数字(在用户输入时限制),如果出现除零操作答案为0: 有两种针对不同运算符的解决方法: 1. 使用eval() 函数 //函数 ...

  10. The length of the string value exceeds the length configured in the mapping/parameter.

    在NHibernate 3.3 中存储的字符串太长,会抛异常:The length of the string value exceeds the length configured in the m ...