链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1609

题意:如图,给出弧长和弦长,求“?”处的距离h。

思路:这里是二分半径r,要注意好精度,要不wa到死啊。特别要注意先判断一下n*c,如果结果太小则不能构成一个圆,就直接输出0好了。

但是如果是二分h的话,精度就好控制很多。由于题目说细棒最多伸长为3L/2,所以h的范围是(0,L/2), r=(4*h*h+L*L)/(8*h).

二分半径:

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
const double inf=0xffffffff;
const double eps=1e-8;
const int maxn=100;
double l1,l2;
double F(double r)
{return 2*r*asin(l1/(2*r))-l2;
}
double binary()
{double l=0.5*l1,r=inf,m;while(l+eps<r)//for(int i=0;i<150;i++)//
    {m=l+(r-l)/2;if(F(m)>eps) l=m;else r=m;}return m;
}
int main()
{// freopen("in.cpp","r",stdin);double n,c,r;while(scanf("%lf%lf%lf",&l1,&n,&c)){if(l1<0 && n<0 && c<0) break;if(n*c<eps){printf("0.000\n");continue;}l2=(1+n*c)*l1;r=binary();double d=sqrt(r*r-l1*l1/4);printf("%.3lf\n",r-d);}return 0;
}

View Code

二分高度h:

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
const double inf=0xffffffff;
const double eps=1e-8;
const int maxn=100;
double l1,l2;
double F(double r)
{return 2*r*asin(l1/(2*r))-l2;
}
double binary()
{double left=0,right=l1/2,m;while(left+eps<right)//for(int i=0;i<150;i++)//
    {m=left+(right-left)/2;double r=(4*m*m+l1*l1)/(8*m);if(F(r)>eps) right=m;else left=m;}return m;
}
int main()
{
//    freopen("in.cpp","r",stdin);double n,c,r;while(scanf("%lf%lf%lf",&l1,&n,&c)){if(l1<0 && n<0 && c<0) break;l2=(1+n*c)*l1;double h=binary();printf("%.3lf\n",h);}return 0;
}

View Code

转载于:https://www.cnblogs.com/54zyq/p/3310719.html

uva10668二分解方程相关推荐

  1. 我眼中的机器学习(二) 解方程 为什么需要用到机器学习算法

    在上一篇文章(我眼中的机器学习(一)) 中, 我们通过三个非常简单的数学例子了解了机器学习的基本流程(训练, 预测). 有的同学可能会觉的机器学习好像也没有什么神奇的, 什么一元一次方程, 三元一次方 ...

  2. 二二、方程Ax=b的行空间中的解

    1. 假设  , 那么,行空间中存在唯一的元素 ,是  的解 一个解对应一个n0,但所有解对应一个r0 证明,假设: 那么: Rn中存在一个或多个向量x,满足上面的等式 下面画出Rn,矩阵A的列空间. ...

  3. python写一个求导积分工具_方便快捷的求导求积分解方程在线工具sage介绍

    有时候我们需要进行一些复杂的数学计算,比如求导, 求积分,解方程,还是用abcd字母代表变量的方程等,这就需要进行复杂的数学运算还需要具备良好的数学基础.不过现在有一个非常方便的在线工具,只需要几秒钟 ...

  4. 九度OJ 题目1534:数组中第K小的数字(二分解)

    题目链接:点击打开链接 题目描述: 给定两个整型数组A和B.我们将A和B中的元素两两相加可以得到数组C. 譬如A为[1,2],B为[3,4].那么由A和B中的元素两两相加得到的数组C为[4,5,5,6 ...

  5. [NOI2012]骑行川藏

    [NOI2012]骑行川藏 思路一:二分导数 http://www.cnblogs.com/RabbitHu/p/9019762.html 考虑"性价比"即花费单位能量缩短的时间. ...

  6. 什么?神经网络还能求解高级数学方程?

    来源 | 数据派 THU 封图 | CSDN 付费下载于视觉中国 Facebook AI建立了第一个可以使用符号推理解决高级数学方程的AI系统.通过开发一种将复杂数学表达式表示为一种语言的新方法,然后 ...

  7. 九年级数学解方程50道_初中数学公式中考知识点总结,初三数学上册,九年级数学上册...

    初中数学公式中考知识点总结,初三数学上册,九年级数学上册 第二十一章 一元二次方程 知识点: 一元二次方程的解法 1.直接开平方法 利用平方根的定义直接开平方求一元二次方程的解的方法叫做直接开平方法, ...

  8. 推荐 :教你用神经网络求解高级数学方程!

    作者:François Charton, Guillaume Lample 翻译:冯羽 校对:吴金笛 本文约2650字,建议阅读10分钟 本文介绍了一种利用深度学习中的神经机器翻译(NMT)技术求解方 ...

  9. 七个千僖年数学难题与希尔伯特二十三个问题

    七个千僖年数学难题与希尔伯特二十三个问题 (2011-08-01 11:04:52) 标签: 校园 分类: 工作篇 最近美国麻州的克雷(Clay)数学研究所于2000年5月24日在巴黎法兰西学院宣布了 ...

  10. 数学物理方程与特殊函数—分离变量法

    文章目录 1.基础概念 1.1 三类典型方程 1.2 基本概念 2. 分离变量法 2.1 有界弦的自由振动 2.1.1 存在性定理 2.1.2 物理意义 2.2有限长杆的热传导问题 2.3 二维拉普拉 ...

最新文章

  1. Python代码列主元消去法matlab编程_工业机器人用什么语言编程的?
  2. x210烧写流程(inand)
  3. 张平文院士:展示计算数学的魅力
  4. java 嵌套类 map_java – 将groupingBy用于嵌套Map,但收集到不同类型的对象
  5. GitHub标星近10万:只需5秒音源就能实时“克隆”你的声音!
  6. 1017. A除以B (20)-PAT乙级真题
  7. iOS:Autolayout自动布局实例
  8. 2022年最全公关活动策划案例(共14份)
  9. DOS的一个小工具 LOIC
  10. pygame安装时出现的问题以及解决方案记录.
  11. oracle 卸载(手动,无universal installer)
  12. C++后台开发学习路线
  13. python解决鸡兔同笼_python解决鸡兔同笼问题
  14. 【Spring】源码浅析 - ResponseEntity.ok
  15. Web--用户注册界面
  16. iOS framework动态库重签名
  17. 一键禁用Win10自动更新,联想官方出品!!
  18. sunday 算法python实现
  19. 【Web UI自动化测试】Web UI自动化测试之日志收集篇(全网最全)
  20. FPGA数字信号处理(十三)锁相环位同步技术的实现

热门文章

  1. 为什么很少人写类似金庸的武侠小说
  2. 火车套餐惊现2013年豆浆
  3. Intel 8042键盘控制器详细介绍
  4. python 直方图的绘制方法全解_5种方法教你用Python玩转histogram直方图
  5. sql怎么select中位数_怎么能避免写出慢SQL?
  6. python选取tensor某一维_python基础教程详解torch.Tensor的4种乘法
  7. Tip: Unicode Debug和Debug有什么区别?
  8. P5057 [CQOI2006]简单题
  9. 关于报表在移动端展现你需要知道哪些?
  10. 记一下这些资源,总有用的到的时候