利用sql语句解决简单的数学题(r3笔记第19天)
今天在解决一个问题的时候,发现自己的数学水平严重下降,现在是光有思路没有答案,自己简单算了几个答案,还是不太满意。
最后尝试写了一个简单的pl/sql就解决了。
问题是这样的,一个系统的处理结果会提供两个参数,用这个参数来衡量系统的情况,一个我们设为pass_ratio,另一个设为fail_ratio. 我们假设需要投入时间分别设为x,y
就是返回pass_ratio需要的时间为x,返回fail_ratio的时间为y
需要从x,y中得到一个最优组合。
如果返回的结果为pass_ratio的值,会有一个公式 pass_ratio*x-x-y>0
如果返回的结果为fail_ratio的值,会有一个公式$fail_ratio*y-y-x>0
我写了下面的pl/sql来简单实现,还是用穷举法来做,在这个方面,电脑还是比人脑强大的多啊。
pass_ratio=$1
fail_ratio=$2
sqlplus -s n1/n1 <<EOF
set serveroutput on
set feedback off
begin
for x in 5..50 loop
for y in 5..50 loop
if($pass_ratio*x-x-y>0 and $fail_ratio*y-y-x>-2) then
dbms_output.put_line($pass_ratio||' '||$fail_ratio||' '||x||' '||y||' pass:'||to_number($pass_ratio*x-x-y)*0.88||'-- fail:'||to_number($fail_ratio*y-y-x)*0.88);
end if;
end loop;
end loop;
end;
/
EOF
输出的结果如下:
> ksh a.sh 1.5 3.1
1.5 3.1 23 11 pass:.44-- fail:.088
1.5 3.1 25 12 pass:.44-- fail:.176
1.5 3.1 27 13 pass:.44-- fail:.264
1.5 3.1 29 14 pass:.44-- fail:.352
1.5 3.1 31 15 pass:.44-- fail:.44
1.5 3.1 33 16 pass:.44-- fail:.528
1.5 3.1 35 17 pass:.44-- fail:.616
1.5 3.1 37 18 pass:.44-- fail:.704
1.5 3.1 39 19 pass:.44-- fail:.792
1.5 3.1 41 20 pass:.44-- fail:.88
1.5 3.1 43 21 pass:.44-- fail:.968
1.5 3.1 44 21 pass:.88-- fail:.088
1.5 3.1 45 22 pass:.44-- fail:1.056
1.5 3.1 46 22 pass:.88-- fail:.176
1.5 3.1 47 23 pass:.44-- fail:1.144
1.5 3.1 48 23 pass:.88-- fail:.264
1.5 3.1 49 24 pass:.44-- fail:1.232
1.5 3.1 50 24 pass:.88-- fail:.352
看输出的结果自己的大脑是算不出来的。还是写个程序来的方便。:)
- java学习:数据增删改查、存储过程调用及事务处理
- 极客手工:自制51四驱无线遥控小车
- flash:二次贝塞尔曲线应用-生成飞机路径示意图
- 微信小程序重磅功能上线!一键连Wi-Fi/手机变门禁卡
- MySQL下载安装、基本配置、问题处理
- windows下命令行模式中cd命令无效的原因
- 分布式和集群区别?什么是云计算平台?分布式的应用场景?
- 中国移动也要搞自动驾驶,没了SIM卡怎么耍花样?
- python并发编程之多进程理论部分
- 使用concurrent.futures模块并发,实现进程池、线程池
- 人工智能与医疗
- 每周论文清单:知识图谱,文本匹配,图像翻译,视频对象分割
- 进程池、线程池、回调函数
- java学习:weblogic下JNDI及JDBC连接测试(weblogic环境)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- MySQL复制全解析 Part 8 GTID Auto-Positioning
- 红队之windows用户和组
- MySQL 复制全解析 Part10 基于GTID的MySQL复制的一些限制
- MySQL 复制全解析 Part 11 使用xtrabackup建立MySQL复制
- windows之NTLM认证
- 3A之自动白平衡(AWB)篇
- 欧拉角旋转
- matplotlib中文乱码的两种解决方案
- MySQL MHA部署 Part 3 MHA软件安装
- 自然语言处理的基本要义:向量表示法
- MySQL MHA部署 Part 4 MHA部署前准备
- 【NPM库】- 0x04 - Mock Data
- docker上部署MySQL实例
- Tomcat 高并发之道原理拆解与性能调优
- Redis运维之swap空间