粗心的物理学家
来源:互联网 发布:英国病人小说知乎 编辑:程序博客网 时间:2024/06/08 12:08
FJNU.1156
Description
世界著名的物理学家Albert正在计算1+1/2+1/3+...+1/n的值。不幸的是,由于这项工作十分枯燥无味,这位伟大的物理学家得到了错误的答案。由于这一错误,它制造的几颗原子弹失去了控制,射向了五座重要的城市和一片热带雨林……
现在你的任务是帮助这位物理学家纠正这一错误,从而拯救世界。对于给定的n (n<=5*10^6(6次方)),计算代数式1+1/2+1/3+...+1/n的值。
Input
输入仅有一个整数,表示n的值.
Output
程序运行结束时,将代数式的值(小数点后保留12位有效数字)输出。
Sample Input
2
Sample Output
1.500000000000
Source
福州大学第二届程序设计竞赛
My Program
#include<stdio.h>
int main()
...{
long n,i;
double ans=0;
scanf("%ld",&n);
for(i=n;i>=1;i--)
ans+=1.0/i;
printf("%.12lf ",ans);
return 0;
}
int main()
...{
long n,i;
double ans=0;
scanf("%ld",&n);
for(i=n;i>=1;i--)
ans+=1.0/i;
printf("%.12lf ",ans);
return 0;
}
YOYO's Note:
在1/i,i从1~N时,会出现“大数吃小数”现象(1+0.4+0.4+0.4 -> 1+0.4+0.4 -> 1+0.4 -> 1)
而实际结果应该为0.4+0.4+0.4+1 -> 0.8+0.4+1 -> 1+1 -> 2,所以记得i要从大加到小噢 >_<~
- 粗心的物理学家
- Fzu_1058 粗心的物理学家
- 粗心的物理学家
- FZU 粗心的物理学家
- fjnu 1156 粗心的物理学家
- FZU 1058粗心的物理学家
- FOJ-1058-粗心的物理学家
- FZU1058 之 粗心的物理学家
- Problem 1058 粗心的物理学家
- 粗心的物理学家 FZU-1058 (水坑题)
- 粗心惹的祸
- 粗心的代价
- 粗心的下场
- 粗心的程序员
- 粗心的售票员
- 粗心的数组
- 粗心的小明
- php初学者的粗心
- Above Average
- 这一年如何开始
- Number lengths
- The 3n + 1 problem
- 栈
- 粗心的物理学家
- 敲七
- 敲7-版本2
- Jooce紧随中国网民的浪潮而在中国超速发展
- No Brainer
- 沙发的故事~人才的价值在于贡献度?
- vim 常用设置
- 苏丹达尔富尔问题
- 斯皮尔伯格辞职,斯皮尔伯格退出奥运