【C语言程序设计】C语言求圆周率π(三种方法)
题目一:
利用公式①计求π的近似值,要求累加到最后一项小于10^(-6)为止。
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(){float s=1;float pi=0;float i=1.0;float n=1.0;while(fabs(i)>=1e-6){pi+=i;n=n+2;// 这里设计的很巧妙,每次正负号都不一样s=-s;i=s/n;}pi=4*pi;printf("pi的值为:%.6f\n",pi);return 0;
}
运行结果:
pi的值为:3.141594
上面的代码,先计算π/4的值,然后再乘以4,s=-s; 用的很巧妙,每次循环,取反,结果就是,这次是正号,下次就是负号,以此类推。
题目二:
根据公式②,用前100项之积计算π的值。
本题提供了两种解法。
[代码一]程序代码:
#include <stdio.h>
#include <math.h>
int main(){float pi=1;float n=1;int j;for(j=1;j<=100;j++,n++){if(j%2==0){pi*=(n/(n+1));}else{pi*=((n+1)/n);}}pi=2*pi;printf("pi的值为:%.7f\n",pi);return 0;
}
运行结果:
pi的值为:3.1260781
此算法的主要思想:
观察分子数列:
a1=2 a2=2
a3=4 a4=4
a5=6 a6=6
......
由此得知,当n为偶数时,an=n;当n为奇数时,an=a(n+1)=n+1;
同理观察分子数列:
b1=1 b2=3
b3=3 b4=5
b5=5 b6=7
b7=7 b8=9.......
由此可知,当n为奇数时,bn=n,当n为偶数时,bn=b(n+1)。
综上可知,当n为奇数时,每次应乘以(n+1)/n。当n为偶数时,每次应乘以n/(n+1)。
————————————
[代码二]程序代码:
#include <stdio.h>
#include <math.h>
int main(){float term,result=1;int n;for(n=2;n<=100;n+=2){term=(float)(n*n)/((n-1)*(n+1));result*=term;}printf("pi的值为:%f\n", 2*result);return 0;
}
运行结果:
pi的值为:3.126079
算法思想:
采用累乘积算法,累乘项为term=n*n/((n-1)*(n+1)); n=2,4,6,...100。步长为2。
相关文章:

【C语言程序设计】C语言求圆周率π(三种方法)
题目一: 利用公式①计求π的近似值,要求累加到最后一项小于10^(-6)为止。 程序代码: #include <stdio.h> #include <stdlib.h> #include <math.h> int main(){float s1;float pi0;float i1.0;float n1.0;while(fabs(i)&…...
常见的特殊端口号及其用途
21端口:FTP(文件传输协议)服务端口。FTP允许用户进行文件传输,如上传和下载文件。22端口:SSH(安全外壳协议)服务端口。SSH用于远程登录到服务器,并提供加密的数据传输。23端口&#…...
Linux(ubuntu) 安装kotlin
Kotlin 是一种基于 Java 语言的静态类型编程语言,它可以运行于 JVM 上 1. 安装 Java Development Kit (JDK) Kotlin 运行于 JVM 上,所以首先需要安装 Java Development Kit(JDK) Ubuntu 或 Debian 系统 sudo apt update sudo a…...
微信小程序提交成功设置提示
在微信小程序中,当用户成功提交表单或完成某项操作后,通常我们会设置一个提示来告知用户操作已完成。这种提示通常可以通过几种方式来实现,例如使用 wx.showToast 方法显示一个短暂的提示消息,或者跳转到一个新的页面并显示成功信…...

Pycharm与Anaconda安装
网址: Pycharm:https://www.jetbrains.com/pycharm/ Anaconda:https://www.anaconda.com/download/ 官网下载速度太慢可以选择到清华源下载:https://repo.anaconda.com/archive/ 一:Anaconda安装 安装: …...

阿里云数据盘挂载目录
1、先登录服务器创建新目录aaa 2、云盘都快照备份下。后续操作完核实无误了,您根据您需求删除快照就行, 然后登录服务器内执行: fdisk -l lsblk blkid ll /aaa 3、执行:(以下命令是进行数据盘做ext4文件系统并挂载到…...
【Python】探索PyPinyin 库:Python 中的中文拼音转换工具
花未全开月未圆, 半山微醉尽余欢。 何须多虑盈亏事, 终是小满胜万全。 —— 《对抗路—吕布》 PyPinyin 是一个功能强大的 Python 库,用于将中文文本转换为拼音。它提供了丰富的功能,能够满足各种中文文本处理的需求。在本文中&am…...
Linux运维总结:Centos7.6之OpenSSH7.4升级版本至9.3
一、环境信息 操作系统:Centos7.6.1810 OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 注意:升级后由于加密算法的区别,低版本的SSH工具可能无法连接,建议改用Xshell7或SecureCRT9.0以上版本。 二、注意事项 1、 检查防火墙或selinux是否…...

SD-WAN能解决企业网络的哪些问题?
SD-WAN技术的崛起为企业网络带来了全新的解决方案。在数字化转型、云计算、远程办公和5G等领域,SD-WAN技术展现出强劲的市场趋势。那么,SD-WAN究竟能够解决企业网络中的哪些难题呢? 提升网络带宽利用率 传统网络在连接分支机构时,…...
Python实战:Python集合的常见操作
Python集合(set)是一种无序且元素唯一的容器,它是Python中一种基本的数据结构。本文将详细介绍Python集合的常见操作,包括创建集合、添加和删除元素、集合运算、集合推导式等。 1. 创建集合 Python集合可以通过多种方式创建&…...
Linux: cloud: network: tap tx 丢包一例,vCPU的运行受到主机CPU的占用影响
https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/10/html/ovs-dpdk_end_to_end_troubleshooting_guide/high_packet_loss_in_the_tx_queue_of_the_instance_s_tap_interface 这个里面有一个丢包的例子是说,如果tx-queue的大小不够大&am…...

揭秘数据之美:利用 Bokeh 轻松构建实时、动态的数据可视化项目
1、引言 想让你的数据跃然 “屏” 上?厌倦了静态图表的平淡无奇?那么,今天就让我们一起探索 Python 世界中的瑰宝 ——Bokeh 库。这款强大的可视化工具以其流畅的交互性和实时更新能力,让你的数据呈现如电影般生动立体࿰…...

性能测试场景分析并设计?超细案例讲解
前言 性能测试场景,其实和功能测试没什么区别,只是侧重点不同。 我们在功能测试中经常用到的等价类边界值等分析和设计测试case的方法,目的是为了尽可能的覆盖业务场景,避免遗漏导致的功能逻辑缺失或者未达到预期。 而在性能测试…...
python面向对象练习一
假设我们正在开发一个学生管理系统,我们需要创建一个Student类来表示学生对象。 每个学生都有学号、姓名和年龄属性。我们还希望能够打印学生的信息,并在删除学生对象时输出一条提示消息。 要求使用__str__()管理学生信息的打印 要求使用__del__()管理删…...
【Linux-tar/gzip/zip】
Linux-tar/gzip/zip ■ tar■ gzip■ zip■ unzip解压缩 ■ tar 基本语法: tar [选项] 压缩后的压缩包 要压缩的文件 选项说明描述-cf :对文件或文件夹进行打包-v :显示压缩的进度- z :使用gzip压缩工具把打包后的文件进行压缩为.gz-j :使用bzip2压缩工具把打包后…...

第一代高通S7和S7 Pro音频平台:超旗舰性能,全面革新音频体验
以下文章来源于高通中国 如今,音频内容与形式日渐丰富,可满足人们放松心情、提升自我、获取资讯等需求。得益于手机、手表、耳机、车载音箱等智能设备的广泛应用,音频内容可以更快速触达用户。从《音频产品使用现状调研报告2023》中发现&…...
el-menu + el-badge 菜单加红点标识el-badge
el-menu el-badge 菜单加红点标识el-badge 一、el-menu组件menu/index.vuemenu/submenu.vue 二、获取/更新菜单红点标识 main.js引入全局组件/mixins全局混入 el-menu封装 一、el-menu组件 menu/index.vue 重点:定义 ref"menu",切换路由时…...
python: inspect模块各函数的用法
python: inspect模块各函数的用法 inspect模块也被称为 检查现场对象。这里的重点在于“现场”二字,也就是当前运行的状态。 inspect模块提供了一些函数来了解现场对象,包括 模块、类、实例、函数和方法。 inspect函数主要用于以下四个方面 对是否是模…...
优化代码性能:C#中轻松测量执行时间
概述:本文介绍了在C#程序开发中如何利用自定义扩展方法测量代码执行时间。通过使用简单的Action委托,开发者可以轻松获取代码块的执行时间,帮助优化性能、验证算法效率以及监控系统性能。这种通用方法提供了一种便捷而有效的方式,…...

I2C学习总结
i2c概述 I2C(Inter-Intergreted Circuit) 是一种串行通信协议,用于集成电路之间完成数据传输,i2c用广泛用以各种领域,包括电子设备、嵌入式系统、工业自动化等; i2c仅仅只是一个数据传输的协议,…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql
智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...

Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...

uniapp 开发ios, xcode 提交app store connect 和 testflight内测
uniapp 中配置 配置manifest 文档:manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号:4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...