随笔分类 -  000-浮点计算误差

浮点数比较
摘要:一个很经典的小知识点,仅作为笔记: 不要用 a == b的办法判断两个浮点数是否相等,包括不要用 a== 0的办法判断浮点数 a是否等于0。因为浮点数是有误差的。 应该用 a-b > -eps && a-b < eps ,即a和b的差的绝对值小于某个很小值 eps的办法来判断a和b是否相等。 如果结 阅读全文

posted @ 2017-07-22 16:45 华山青竹 阅读(456) 评论(0) 推荐(0) 编辑

用二分法求方程的根
摘要:用二分法求下面方程在(-10, 10)之间的一个根。 2x3- 4x2+ 3x- 6 = 0 这个题目要用while语句实现才可以通过。下面的代码不能通过。(一直没懂什么原因……)下面这段是不行的。 阅读全文

posted @ 2014-07-15 20:03 华山青竹 阅读(2154) 评论(0) 推荐(0) 编辑

OpenJudge计算概论-求分数序列和
摘要:/*========================================================================求分数序列和总时间限制: 1000ms内存限制: 65536kB描述 有一个分数序列 2/1,3/2,5/3,8/5,13/8,21/13,.... 求这个分数序列的前n项之和。输入 输入有一行:正整数n。输出 输出有一行:分数序列的和(浮点数,精确到小数点后4位)。 可以printf("%.4lf\n", a)输出浮点数并精确到小数点后4位。样例输入 99样例输出 160.4849提示 最好在... 阅读全文

posted @ 2013-12-08 23:54 华山青竹 阅读(630) 评论(0) 推荐(0) 编辑

OpenJudge计算概论-球弹跳高度的计算
摘要:/*========================================================================球弹跳高度的计算总时间限制: 1000ms内存限制: 65536kB描述 一球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半,再落下。 编程计算气球在第10次落地时,共经过多少米? 第10次反弹多高?输入 输入一个整数h,表示球的初始高度。输出 输出包含两行: 第1行:到球第10次落地时,一共经过的米数。 第2行:第10次弹跳的高度。 注意:结果可能是实数,结果用double类型... 阅读全文

posted @ 2013-12-08 23:53 华山青竹 阅读(2093) 评论(0) 推荐(0) 编辑

OpenJudge计算概论-求出e的值
摘要:/*========================================================================求出e的值总时间限制: 1000ms内存限制: 65536kB描述 利用公式e = 1 + 1/1! + 1/2! + 1/3! + ... + 1/n! 求e 。输入 输入只有一行,该行包含一个整数n(2 2 int main() 3 { 4 double sum=0; 5 int n,i; 6 long long t; 7 scanf("%d",&n); 8 t=1;//表示0!... 阅读全文

posted @ 2013-12-08 23:52 华山青竹 阅读(1133) 评论(0) 推荐(0) 编辑

OpenJudge计算概论-鸡尾酒疗法
摘要:/*=====================================鸡尾酒疗法总时间限制: 1000ms 内存限制: 65536kB描述鸡尾酒疗法,原指“高效抗逆转录病毒治疗”(HAART),由美籍华裔科学家何大一于1996年提出,是通过三种或三种以上的抗病毒药物联合使用来治疗艾 滋病。该疗法的应用可以减少单一用药产生的抗药性,最大限度地抑制病毒的复制,使被破坏的机体免疫功能部分甚至全部恢复,从而延缓病程进展,延长患者生 命,提高生活质量。人们在鸡尾酒疗法的基础上又提出了很多种改进的疗法。为了验证这些治疗方法是否在疗效上比鸡尾酒疗法更好,可用通过临床对照实验的方式 进行。假设鸡尾酒疗 阅读全文

posted @ 2013-12-08 17:41 华山青竹 阅读(1356) 评论(0) 推荐(0) 编辑

比较两个浮点数的大小关系
摘要:/*==============================================================================实数运算中,经常需要判断实数x和y是否相等。编程者往往把判断的条件简单设成x==y或者y-x==0.实际上,这种写法是有失偏颇的,可能会产生精度误差。避免精度误差的办法就是设置一个精度常量delta。若y-x的实数值与0之间的区间长度小于delta,则认为x和y相等,这样就可以把误差控制在delta范围内。显然,判断实数x和y是否相等的条件应设成|x-y| 2 #include 3 int main() 4 { 5 float ... 阅读全文

posted @ 2013-12-07 12:02 华山青竹 阅读(3876) 评论(0) 推荐(1) 编辑

OpenJudge计算概论-求一元二次方程的根【含复数根的计算、浮点数与0的大小比较】
摘要:/*======================================================================求一元二次方程的根总时间限制: 1000ms 内存限制: 65536kB描述利用公式x1 = (-b + sqrt(b*b-4*a*c))/(2*a), x2 = (-b - sqrt(b*b-4*a*c))/(2*a)求一元二次方程ax^2 + bx + c =0的根,其中a不等于0。输入第一行是待解方程的数目n。 其余n行每行含三个浮点数a, b, c(它们之间用空格隔开),分别表示方程ax2 + bx + c =0的系数。输出输出共有n行,每行是 阅读全文

posted @ 2013-12-07 11:51 华山青竹 阅读(2542) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示