runxinzhi.com
首页
百度搜索
不使用递归法求值
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>Document</title> </head> <body> <div>显示f(4,3)结果</div> <div id="show">显示f(4,3)结果</div> <script type="text/javascript"> //f(m,n)={n,(m=1) ||m,(n=1)||f(m-1,n)+f(m,n-1)(m>1,n>1)} function aaa(m,n){ var arr=[]; var arrshu=[]; var minarr=[]; arr.push([m,n]); arrshu.push(1); var he=0; for(var i=m;i>0;i--) { if (i == m) { for (var j = n - 1; j > 0; j--) { arr.push([i, j]); arrshu.push(1); if(i==1){ he+=(k*1) } if(j==1){ he+=(i*1) } } } else { for (var k = n; k > 0; k--) { var a = [i + 1, k]; var c = [i, k + 1]; var count1 = 0; for (var b = 0; b < arr.length; b++) { var flag1 = 0, flag2 = 0; for (var f = 0; f < arr[b].length; f++) { if (arr[b][f] == c[f]) { ++flag1; if(([i, k][f]==1)&&c[f]==1){ --flag1; } if(flag1==2){ count1 += arrshu[b] } } if (arr[b][f] == a[f]) { ++flag2; if(([i, k][f]==1)&&a[f]==1){ --flag2; } if(flag2==2){ count1 += arrshu[b] } } } } arr.push([i, k]); arrshu.push(count1); if(i==1){ he+=(k*count1) } if(k==1){ he+=(i*count1) } } } } return {arr:arr,arrshu:arrshu,he:he} } window.onload=function() { var c=aaa(4, 3) document.getElementById('show').innerHTML=c['he'] //{"arr":[[4,3],[4,2],[4,1],[3,3],[3,2],[3,1],[2,3],[2,2],[2,1],[1,3],[1,2],[1,1]],"arrshu":[1,1,1,1,2,2,1,3,3,1,3,0],"he":25} } </script></body> </html>
运行
题目如图
显示f(4,3)结果
显示f(4,3)结果
相关阅读:
/sbin/nologin 和 /bin/false 的区别
lesson
df 命令详解
课后习题-7 阶段汇总
javascript Window Navigator
javascript 正则表达式
linux crontab 的使用
linux环境变量
linux第一个C语言和sh脚本
linux 文件常用操作
原文地址:https://www.cnblogs.com/heyinwangchuan/p/6185267.html
最新文章
el-table翻页序号不从1开始(已解决)
ui
git--版本控制
navicat primium 12免安装版的解决方式
js基础-原型
js基础——基本包装类型
js基础——变量、作用域、内存
js基础——继承
布局中元素由于浏览器窗口变化被挤下来(解决)
uniq 命令详解
热门文章
split 命令详解
tee 命令详解
Linux目录结构介绍-http://yangrong.blog.51cto.com/6945369/1288072
lesson
lesson
lesson
fdisk 命令详解
dd 命令详解
du 命令详解
cp 命令详解
Copyright © 2020-2023
润新知