本题要求编写程序,根据下式求π的近似值,直到最后一项小于给定精度eps。

​π / 2​​=1+​1! / 3​​+​2! / 3×5​​​​+3! / ​3×5×7​​​​+⋯+​​​i! / 3×5×⋯×(2×i+1)​​+⋯

输入格式:

输入在一行中给出精度eps,可以使用以下语句来读输入:

scanf("%le", &eps);

输出格式:

在一行内,按照以下格式输出π的近似值(保留小数点后5位):

PI = 近似值

输入样例:

1E-5

输出样例:

PI = 3.14158

作者

张高燕

单位

浙江大学城市学院

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB


编译器 (1)

C (gcc)

#include <stdio.h>
double fact(int n);
int main(void)  //如果不需要从命令行中获取参数,请用int main(void);否则请用int main(int argc, char *argv[])
{double eps;scanf("%le", &eps);int i;double sum=0.0,sub=1.0;for(i=0;;i++){sub*=2*i+1;sum+=fact(i)/sub;if(fact(i)/sub<eps){printf("PI = %.5f",sum*2);   // \nbreak;}}return 0;
}double fact(int n)
{int i;double factorial=1.0;if(n==0){    //为什么此处的if不能省略? return 1.0;}for(i=2;i<=n;i++){factorial*=i;}return factorial;
}

7-50 近似求PI (15分)相关推荐

  1. 近似求PI (15 分)

    7-51 近似求PI (15 分) 本题要求编写程序,根据下式求π的近似值,直到最后一项小于给定精度eps. 2π​=1+31!​+3×52!​+3×5×73!​+⋯+3×5×⋯×(2×i+1)i!​ ...

  2. 5-1 近似求PI (10 分)本题要求编写程序,根据下式求π的近似值,直到最后一项小于给定精度eps

    #include <stdio.h> double is(int);//这是一个求阶层 double rr(int);//这是一个求分母 int main()// {double eps; ...

  3. 7-3 蒙特卡罗方法求圆周率 (15 分)(Java)

    7-3 蒙特卡罗方法求圆周率 (15 分)(Java) 可算写出来了 使用蒙特卡洛仿真方法求圆周率.(具体要求见作业指导书 2020-OO第05次作业-2指导书V1.0.pdf ) 输入格式: 从键盘 ...

  4. 6-2 多项式求值 (15 分)

    6-2 多项式求值 (15 分) 本题要求实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式f(x)=∑i=0n​(a[i]×xi) 在x点的值. 函数接口定义: double f( ...

  5. C语言 近似求PI

    近似求PI 题目描述: 根据下式求π的近似值,直到最后一项小于给定精度eps. ​2 ​​/π ​​ =1+​1!/ ​3+2!/3×5+​3!/3×5×7+⋯+​i!/3×5×⋯×(2×i+1)​​ ...

  6. 4-2 多项式求值   (15分) 本题要求实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式 f(x)=∑i=0n(a[i]×xi)f(x)=\sum_{i=0}^{n}(a[i]

    4-2 多项式求值   (15分) 本题要求实现一个函数,计算阶数为n,系数为a[0] ... a[n]的多项式f(x)=∑i=0n(a[i]×xi)f(x)=\sum_{i=0}^{n}(a[i]\ ...

  7. 近似求PI(15 分)

    本题要求编写程序,根据下式求π的近似值,直到最后一项小于给定精度eps. π2=1+1!3+2!3×5+3!3×5×7+⋯+i!3×5×⋯×(2×i+1)+⋯π2=1+1!3+2!3×5+3!3×5× ...

  8. 作业7-1 近似求PI

    本题要求编写程序,根据下式求π的近似值,直到最后一项小于给定精度eps. 2π​=1+31!​+3×52!​+3×5×73!​+⋯+3×5×⋯×(2×i+1)i!​+⋯ 输入格式: 输入在一行中给出精 ...

  9. pat(基本编程题集)6-2 多项式求值 (15 分)

    这道题感觉有点狗,不难,但是第一次做的时候,运行超时错误让我很不解,一共才10个数大的数组,最坏情况也不过是10*10的时间复杂度O(1). 但是限制就是辣么严,这个单层循环的优化有些类似求前n个数的 ...

最新文章

  1. YOLOv4实用训练实践
  2. [AaronYang]C#人爱学不学8[事件和.net4.5的弱事件深入浅出]
  3. 大数据对于我们的生活有哪些便利(图)
  4. 网络的概念与网络的基本分类
  5. eclipse类自动生成注释
  6. 机器视觉系统图像采卡基本概念
  7. Java线程之间通信
  8. [存]超酷JS拖拽翻页效果
  9. R语言: 如何快速获取一个地方的气象数据?
  10. PE启动盘安装操作系统
  11. VSTO打包加载项 WPS可用 Advanced Installer
  12. 解决uniapp从首页列表进入详情页,再返回首页时滚动条在顶部的问题
  13. python 语料_用python从语料库中提取最常用的词
  14. Kotlin学习笔记12——数据类和密封类
  15. iOS(iPhone,iPad))开发(Objective-C)开发库常用库索引
  16. 【深度长文】老IT公司怎么做到像创业公司一样快
  17. 职业梦想是计算机的英语作文,有关职业梦想的英语作文(精选7篇)
  18. JAVA Apache POI解析docx格式的word文件并提取带样式文本
  19. 2022年认证杯SPSSPRO杯数学建模B题唐宋诗的定量分析与比较研究程序
  20. 克鲁斯卡尔算法 与 普里姆算法

热门文章

  1. Python版-LeetCode 学习:322 零钱兑换问题
  2. mysql 的事件_一文总结MySQL数据库事件--定时任务实现方式
  3. 关于js阻止冒泡时的一些坑
  4. 当 AI 邂逅绘画艺术,能迸发出怎样的火花?
  5. Mysql-可重复读的隔离级别在什么情况下会出现幻读
  6. C# textBox限制输入为数字
  7. powerdesigner错误提示实体属性名称唯一性_WPS导致加载DLL错误的解决方案
  8. eja变送器故障代码al01_EJA的差压变送器三种常见故障
  9. Vue+SpringBoot+ElementUI实战学生管理系统-9.教师管理模块
  10. python网络数据采集 Tesseract