利用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 看输出的结果自己的大脑是算不出来的。还是写个程序来的方便。:)

本文分享自微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2014-10-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据和云

DBA入门之路:关于日常工作的建议

今天上午在恩墨学院进行了一个简短的分享,引用了多年前我的一页PPT,其中记录了我对DBA日常工作的建议。 虽然这7点内容来自多年以前的总结,但是在今天仍然具有指...

35050
来自专栏hbbliyong

SQL Server 存储过程

Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用。当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的...

43480
来自专栏数据和云

元宵佳节:看Oracle技术粉们用SQL画团圆

话团圆,画团圆,元宵佳节倍思亲,可是大家知道吗,万能的SQL可以帮助大家绘制团圆。 在ITPUB论坛里,一群SQL爱好者们会用SQL来描摹一切可能。请看如下这段...

31450
来自专栏数据和云

见微知著:一条 SQL 性能问题引发的核心系统悲剧

? 黄廷忠(网名:认真就输) 云和恩墨技术专家 个人博客:http://www.htz.pw/ 本篇整理内容是黄廷忠在“云和恩墨大讲堂”微信分享中的讲解案...

29060
来自专栏数据和云

DBA入门之路:察微知渐细致入微

在DBA的职业生涯中,要面临无数的艰难险阻、排忧解难,所以细致入微,严谨认真的风格必不可少。养成了察微知渐的习惯,才能在分析诊断故障时层剖缕析,直指核心;而我也...

22330
来自专栏数据和云

用SQL解一道有趣的数学题:Gauss和Poincare

杨廷琨,网名 yangtingkun 云和恩墨技术总监,Oracle ACE Director,ACOUG 核心专家 用SQL为解析一道数学题 ---- Ora...

42850
来自专栏数据和云

出乎预料:开发人员是如何使用数据库的?

结合最近JetBrains公司(就是出品IntelliJ IDEA的)的一份调查报告,我们来看看开发人员是如何使用数据库的。 这份调查报告的名字就是:今天开发人...

30950
来自专栏数据和云

杨廷琨 - 用SQL解析神奇的扑克牌魔术

杨廷琨,网名 yangtingkun 云和恩墨技术总监,Oracle ACE Director,ACOUG 核心专家 老杨带你用SQL解释经典的扑克牌魔术 --...

38660
来自专栏数据和云

Cloud时代DBA的DevOps最佳实践 - SQL 审核

感谢IT168记者崔月对于嘉年华大会嘉宾,江苏移动专家戴建东的访谈,以下转载的是访谈实录。我们认为在Cloud时代的DBA,DevOps的最佳实践就是SQL审核...

38450
来自专栏数据和云

网友过招老杨:Gauss和Poincare数学问题的另类解法

大家应该还记得前几天我们的一篇文章:用SQL解一道有趣的数学题:Gauss和Poincare ,错过的朋友请先回顾。感谢网友的反馈,发来新的解法一则。 如网友所...

29240

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励