js计算24点
<!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点的更多相关文章
- JS计算24节气的方法
function getjq(yyyy,mm,dd){ mm = mm-1; var sTermInfo = new Array(0,21208,42467,63836,85337,107014,12 ...
- JS计算字符串所占字节数
最近项目有个需求要用js计算一串字符串写入到localStorage里所占的内存,众所周知的,js是使用Unicode编码的.而Unicode的实现有N种,其中用的最多的就是UTF-8和UTF-16. ...
- js计算2个日期相差的天数,两个日期相差的天数,日期相隔天数
js计算2个日期相差的天数,两个日期相差的天数,日期相隔天数 >>>>>>>>>>>>>>>>>& ...
- js计算两个日期的天数差值
js计算两个日期的天数差值 通过两个日期计算这两个日期之间的天数差值 /** * 计算天数差的函数,通用 * @param sDate1 * @param sDate2 * @returns {Num ...
- Vue.js 计算属性是什么
Vue.js 计算属性是什么 一.总结 一句话总结: 模板 表达式 维护 在模板中表达式非常便利,但是它们实际上只用于简单的操作.模板是为了描述视图的结构.在模板中放入太多的逻辑会让模板过重且难以维护 ...
- JS计算两个日期之间的天数
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- C语言-纸牌计算24点小游戏
C语言实现纸牌计算24点小游戏 利用系统时间设定随机种子生成4个随机数,并对4个数字之间的运算次序以及运算符号进行枚举,从而计算判断是否能得出24,以达到程序目的.程序主要功能已完成,目前还有部分细节 ...
- js 计算快速统计中用到的日期
前言 最近在做统计报表模块,其中查询条件用到了快速查询,主要为了方便客户统计查询常用的几个日期纬度,比如本周.上周.本月.上月.昨日. 使用js计算,主要用到了js Date. getDate().g ...
- js计算字符串的字节数和字符串与二进制的相互转化
一.js计算字符串的字节数方法: //blob获取字符串的字节 var debug = "好的"; var blob = new Blob([debug],{type : 'tex ...
随机推荐
- BZOJ3226: [Sdoi2008]校门外的区间
感觉很有趣的题呢. 每个点拆成两个,线段树维护. 不过这题难点其实在输入输出. #include<bits/stdc++.h> #define N (1<<17) #defin ...
- js001-JavaScript简介
js001-JavaScript简介 1. JavaScript实现 JavaScript 的三个重要组成部分如下图 1.1.ECMAScript 1.1.1 版本 ...
- python学习笔记-(十)面向对象基础
面向对象相关知识简介 类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 类变量:类变量在整个实例化的对象中是公用的.类变量定义 ...
- restClient访问SSL
IRestClient client = new RestClient("https://xxx.com/aa/bb"); "; ); ServicePointManag ...
- jquery 获取json文件数据,显示到jsp页面上, 或者html页面上
[{"name":"中国工商银行","code":102},{"name":"中国农业银行",&qu ...
- 提取hdfs文件名的方法
#!/bin/bash #------------------------------------------------------------- # 把目录中的所有文件getmerge到本地 # ...
- 关于datatable linq的转换
关于datatable datarow DataTable paraval = GetParaVal(DateCondition, strUrl, Page, RowPage, iYearMonthN ...
- Collections操作实例
<1>实例操作一:返回不可变的集合 Collections类中可以返回空的List.Set.Map集合,但是通过这种方式返回的对象是无法进行增加数据的,因为在这些操作中并没有实现add() ...
- UVa 11988 Broken Keyboard(链表->数组实现)
/*数组形式描述链表:链表不一定要用指针. 题目链接:UVa 11988 Broken Keyboard 题目大意: 小明没有开屏幕输入一个字符串,电脑键盘出现了问题会不定时的录入 home end ...
- JS通过getBoundingClientRect获取的height可能与css设置的height不一致
发现如果DOM元素有padding-top或者padding-bottom值时, $(dom).height() = dom.style.display + padding-top + padding ...