Java Script 求值
来源:互联网 发布:英语杂志软件 编辑:程序博客网 时间:2024/05/23 21:08
<!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">
<head>
<title>求值!</title>
</head>
<body>
<table>
<tr>
<td><div>输入数字a1...an,以'|'分隔,英文小数点,如:</div>
<div>1.45|5.78|6.59|4.77</div></td>
</tr>
<tr>
<td><input id='NUMS' type='text'/></td>
</tr>
<tr>
<td><div>输入目标定值,如:</div>
<div>7.23</div></td>
</tr>
<tr>
<td><input id='target' type='text'/><button onclick='test();' accesskey='13'>click</button></td>
</tr>
<tr>
<td>结果:</td>
</tr>
<tr>
<td><div id='resdiv'></div></td>
</tr>
</table>
<script type="text/javascript">
function test(){
var numStr = document.getElementById('NUMS').value;
var numStrArr = numStr.split('|');
var target = parseFloat(document.getElementById('target').value);
var resArr =new Array();
var resdivEle = document.getElementById('resdiv');
resdivEle.innerHTML = '';
for (var i=1;i<=numStrArr.length;i++){
var r = combine(numStrArr,i);
resArr = addToResArr(resArr,r);
}
for (var i=0;i<=resArr.length;i++){
var sum = getArrSum(resArr[i]);
if (sum==target){
resdivEle.innerHTML += resArr[i] + '<br/>' ;
}
}
}
function copyArr(srcArr){
var destArr = new Array();
for (var i=0;i<srcArr.length;i++){
destArr.push(srcArr[i]);
}
return destArr;
}
function pushElement(srcArr,targetArr){
var resArr = new Array();
for (var j=0;j<targetArr.length;j++){
var tmpArr = copyArr(srcArr);
tmpArr.push(targetArr[j]);
resArr.push(tmpArr);
}
return resArr;
}
/**
* 递归组合算法
* 从 arr[1...n] 中任选 num(0 < num <= n) 个数的所有组合
*/
function combine(arr, num) {
var r = [];
(function f(t, a, n) {
if (n == 0) return r.push(t);
for (var i = 0, l = a.length; i <= l - n; i++) {
f(t.concat(a[i]), a.slice(i + 1), n - 1);
}
})([], arr, num);
return r;
}
function addToResArr(resArr,srcArr){
for (var i = 0; i< srcArr.length; i++) {
resArr.push(srcArr[i]);
}
return resArr;
}
function getArrSum(arr){
if (arr == undefined)
return 0 ;
var sum = parseFloat(0);
for (var i=0;i<arr.length;i++){
sum = parseFloat(sum)+parseFloat(arr[i]);
}
return sum;
}
</script>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>求值!</title>
</head>
<body>
<table>
<tr>
<td><div>输入数字a1...an,以'|'分隔,英文小数点,如:</div>
<div>1.45|5.78|6.59|4.77</div></td>
</tr>
<tr>
<td><input id='NUMS' type='text'/></td>
</tr>
<tr>
<td><div>输入目标定值,如:</div>
<div>7.23</div></td>
</tr>
<tr>
<td><input id='target' type='text'/><button onclick='test();' accesskey='13'>click</button></td>
</tr>
<tr>
<td>结果:</td>
</tr>
<tr>
<td><div id='resdiv'></div></td>
</tr>
</table>
<script type="text/javascript">
function test(){
var numStr = document.getElementById('NUMS').value;
var numStrArr = numStr.split('|');
var target = parseFloat(document.getElementById('target').value);
var resArr =new Array();
var resdivEle = document.getElementById('resdiv');
resdivEle.innerHTML = '';
for (var i=1;i<=numStrArr.length;i++){
var r = combine(numStrArr,i);
resArr = addToResArr(resArr,r);
}
for (var i=0;i<=resArr.length;i++){
var sum = getArrSum(resArr[i]);
if (sum==target){
resdivEle.innerHTML += resArr[i] + '<br/>' ;
}
}
}
function copyArr(srcArr){
var destArr = new Array();
for (var i=0;i<srcArr.length;i++){
destArr.push(srcArr[i]);
}
return destArr;
}
function pushElement(srcArr,targetArr){
var resArr = new Array();
for (var j=0;j<targetArr.length;j++){
var tmpArr = copyArr(srcArr);
tmpArr.push(targetArr[j]);
resArr.push(tmpArr);
}
return resArr;
}
/**
* 递归组合算法
* 从 arr[1...n] 中任选 num(0 < num <= n) 个数的所有组合
*/
function combine(arr, num) {
var r = [];
(function f(t, a, n) {
if (n == 0) return r.push(t);
for (var i = 0, l = a.length; i <= l - n; i++) {
f(t.concat(a[i]), a.slice(i + 1), n - 1);
}
})([], arr, num);
return r;
}
function addToResArr(resArr,srcArr){
for (var i = 0; i< srcArr.length; i++) {
resArr.push(srcArr[i]);
}
return resArr;
}
function getArrSum(arr){
if (arr == undefined)
return 0 ;
var sum = parseFloat(0);
for (var i=0;i<arr.length;i++){
sum = parseFloat(sum)+parseFloat(arr[i]);
}
return sum;
}
</script>
</html>
- Java Script 求值
- Java Script
- java script
- java script
- java script
- Java script
- Java Script
- Java Script
- java script
- Java Script
- Java script
- java script
- 表达式求值,Java实现
- 表达式求值[java版本]
- Java表达式求值
- 表达式求值 - Java实现
- Java之行列式求值
- Java表达式求值
- boot/bootsect.s
- 智慧园区与物联网产业发展论坛将于6月26日在北京举行
- Recreating an Activity
- struts2.3.4,jar包必须添加完整
- 读取Spring配置文件的3种方式
- Java Script 求值
- 硬盘接口比较
- CCRenderTexture
- Mysql函数Last_insert_id()的真正含义
- SQL触发器,初试牛刀(一)
- 计算机科学中最重要的32个算法
- JDBC 学习笔记(二)—— 大数据+存储过程+批处理+事务
- iOS 获取手机的型号,系统版本,软件名称,软件版本
- 联机事务处理 OLTP