世界著名的物理学家Albert正在计算的值。不幸的是,由于这项工作十分枯燥无味,这位伟大的物理学家得到了错误的答案。由于这一错误,它制造的几颗原子弹失去了控制,射向了五座重要的城市和一片热带雨林……

现在你的任务是帮助这位物理学家纠正这一错误,从而拯救世界。对于给定的n (n≤5*10^6),计算代数式的值。

Input

输入数据由多组数据组成。每组数据一行,仅有一个整数,表示n的值。

Output

对于每组数据,输出代数式的值(小数点后保留12位有效数字)。

Sample Input

2

Sample Output

1.500000000000

分析:对于double类型的数据,当两个数相差较大,或只有一个数很小(接近0)时,这两个数进行运算,会发生精度损失,为了避免这种情况,本题采用从小到大的顺序累加

AC代码如下:

#include <iostream>
#include <cstdio>
using namespace std;int main()
{int n;while(cin>>n){double ans=0.0;for(int i=n;i>=1;i--)ans+=(double)1/i;printf("%.12lf\n",ans);}return 0;
}

下面这题也是类似的问题:

求sin(x)近似值

时间限制:1 Sec 内存限制:128 MB
提交:35 正确:11

[  提交 ] [  统计 ] [  提问 ]

题目描述

利用公式

计算sin(x)的值。要求最后一项的绝对值小于10-5,并统计出此时累计的多少项。

输入描述

输入x值(-2π~2π)之间

输出描述

输出计算出的sin(x)的值和累计项数

输入样例

6

输出样例

-0.279415,12
分析:直接用pow(x,n)/jiecheng(n),是行不通的,当数据很大时会有精度损失,出现异常
AC代码如下:
[cpp] view plaincopy
  1. #include "iostream"
  2. #include "cstdio"
  3. #include "algorithm"
  4. #include "cmath"
  5. #include "cstring"
  6. using namespace std;
  7. int main(int argc, char* argv[])
  8. {
  9. double s,t,x;
  10. int n;
  11. int count=0;
  12. cin>>x;
  13. n=1;
  14. t=x;
  15. s=x;
  16. do
  17. {
  18. count++;
  19. n+=2;
  20. t=t*(-x*x)/((double)(n)-1)/(double)(n);
  21. s=s+t;
  22. } while (fabs(t)>=1e-5);
  23. printf("%lf,%d\n",s,count);
  24. return 0;
  25. }

FZU1058 之 粗心的物理学家相关推荐

  1. UVa OJ 126 - The Errant Physicist (粗心的物理学家)

    Problem 问题 The well-known physicist Alfred E Neuman is working on problems that involve multiplying ...

  2. Problem 1058 粗心的物理学家

    Problem Description 世界著名的物理学家Albert正在计算的值.不幸的是,由于这项工作十分枯燥无味,这位伟大的物理学家得到了错误的答案.由于这一错误,它制造的几颗原子弹失去了控制, ...

  3. 人脸和宇宙是啥关系?看物理学家怎样用重整化群流模型重新理解视觉

    导语 深度学习技术,尤其是生成模型在图像问题处理上大放异彩. 而生成模型之所以展现出强大的多层信号处理能力,与物理学中的重整化群理论密切相关.研究者结合重整化群方法和流模型,开发出可以发现自然作用力的 ...

  4. 一个量子物理学家是怎样研究 AI 的? | 8月书讯

    简报: 本月图灵计划出品6本图书,包含了1本人工智能图书.1 本普林斯顿数学系列图书.1本管理类图书.1本计算机科普图书.2本IT技术类图书.所有书本月底前全部上架,看看你最期待哪本书?别忘参与文末留 ...

  5. 假期充电!20世纪最优秀的物理学家费曼是如何生活、学习和思考的?

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 大数据文摘出品 来源:medium 编译:徐玲 理查德·费曼(Richard Feyn ...

  6. 机器学习获量子加速!物理学家与计算科学家「自然联姻」

    来源:新智元 AI和量子计算的碰撞,会产生什么神奇的火花?IBM团队的一项研究表明,在机器学习任务上,已经找到了量子计算能够加速数据分类的证据,远超传统算法.未来,基于量子的机器学习加速器可能就在路上 ...

  7. 物理学家发现粒子是如何自我组装的

    来源:诸平科学网博客 作者:诸平 链接地址:http://blog.sciencenet.cn/blog-212210-1310642.html 据美国纽约大学(New York University ...

  8. 量子物理学家:如果宇宙中所有物体突然消失,会剩下一个「空宇宙」吗?

    文章来源:TNW 如果量子物理学家能够证明现实世界的一切都是不真实的,会发生什么?你愿意接受这个假设吗? 如果说,此时此刻你正在看的这篇文章,其实并不存在,你会不会觉得这句话是在胡说? 如果你.我.A ...

  9. 这10个著名的思想实验,竟然是物理学家完成的

    来源 : 知更社区 在物理学中,有一类特殊的实验:它们不需要购置昂贵的仪器,不需要大量的人力物力,需要的只是有逻辑的大脑:而这种实验却可以挑战前人的结论,建立新的理论,甚至引发人们对世界认识的重新思考 ...

最新文章

  1. python使用fpdf生成pdf章节(chapter)文件包含:页眉、页脚、章节主体、章节内容等;
  2. onmounted vue3_基于项目时间阐述vue3.0新型状态管理和逻辑复用方式
  3. Win8 HTML5与JS编程学习笔记(二)
  4. 查看php 加载.dll,无法加载PHP_OCI8.DLL的解决
  5. 读取 配置文件_自动化测试中,如何读取配置文件内容?
  6. TIOBE 11 月排行榜:Java、C、C ++、Python 和 VB .NET,谁将卫冕冠军?
  7. 【Shell】压缩相关命令
  8. 【Love2d从青铜到王者】第五篇:Love2d之if语句
  9. java泛型中T和?和有什么区别
  10. 两台虚拟服务器如何串联,巧用路由器的DHCP功能,完成两台路由器之间的串联,你学会了么...
  11. CodeForces - 1436D Bandit in a City
  12. Kafka 官方文档1(中文)
  13. MATLAB绘制“问题儿童表情包”动图2
  14. 逻辑表达式 -- 对蕴含的理解(举例更清晰、明白哦)
  15. 抗真菌、细菌化合物库、抑制剂
  16. 异常:Subquery returns more than 1 row
  17. A标签新窗口打开怎么设置
  18. addRoutes的基本使用
  19. Kettle(三):创建资源库
  20. python 机器学习 sklearn——手把手教你预测心脏病

热门文章

  1. 灰色相关性matlab程序,灰色关联度分析MATLAB程序
  2. NET程序员讨论技术群
  3. 牛客杂记——java中左移运算符<<、右移运算符>>和无符号右移运算符>>>的区别
  4. python msgpack_windows 安装msgpack-python
  5. 【网络编程】msgpack
  6. c#html 转pdf,html转pdf问题解决(C#)
  7. python 怎么部署_如何把Python项目部署到服务器上
  8. 数据经济专题二:地级市、县域、企业数字经济指数、数字乡村指数、相关专利获得情况
  9. 理解单点登录和多点登录原理以及重点
  10. Vue和Js的阻止事件冒泡和阻止默认事件方法