【基础入门题036】计算Pi值(二)

简介: 【基础入门题036】计算Pi值(二)

【基础入门题】2021.12.02

根据 Pi²/8 = 1 + 1/3² + 1/5² + 1/7² + ...,编制计算Pi近似值的函数。


编程语言:包括但不限于Python

题目来源:派森特给站每日刷题频道    

————————————————

方法一:

def Pi(n):
    res = 0
    for i in range(1,n+1):
        res += 1/(2*i-1)**2
    return (res*8)**0.5
print(Pi(1000))
print(Pi(10000))
print(Pi(100000))
print(Pi(1000000))
print(Pi(10000000))
'''
3.14127432760274
3.1415608224399487
3.141589470489344
3.1415923352799697
3.1415926217577352
'''




方法二:推导式

Pi = lambda n:(8*sum(1/(2*i-1)**2 for i in range(1,n+1)))**0.5
print(Pi(1000))
print(Pi(10000))
print(Pi(100000))
print(Pi(1000000))
print(Pi(10000000))
'''
3.14127432760274
3.1415608224399487
3.141589470489344
3.1415923352799697
3.1415926217577352
'''



1000万次循环可以计算到7位有效数字。









目录
相关文章
|
运维 架构师 大数据
【深度剖析】大数据职业发展体系全解【附下载】
【深度剖析】大数据职业发展体系全解【附下载】
|
机器学习/深度学习 存储 数据采集
使用GANs生成时间序列数据:DoppelGANger论文详解(一)
使用GANs生成时间序列数据:DoppelGANger论文详解
1865 0
使用GANs生成时间序列数据:DoppelGANger论文详解(一)
|
Android开发
使用WakeLock使Android应用程序保持后台唤醒
使用WakeLock使Android应用程序保持后台唤醒
750 0
|
监控 算法 图计算
图像处理之积分图应用三(基于NCC快速相似度匹配算法)
图像处理之积分图应用三(基于NCC快速相似度匹配算法)
461 0
|
运维 监控 安全
身份是安全的基石:深入理解阿里云身份体系
企业云上身份管理面临诸多挑战,如账号泄露、权限未及时回收等,导致数据泄露和内部系统被篡改。阿里云提供了一套完善的身份管理体系,包括单账号和多账号场景下的解决方案。对于单账号,通过主账号保护、RAM用户和角色实现分权与审计;对于多账号,使用云SSO统一管理和配置跨账号权限,确保安全合规。该体系支持浏览器、API访问,并集成企业IDP,实现无密钥登录和自动化管理,有效降低风险并提高管理效率。
|
Java Unix 程序员
一文彻底搞定C语言的前世今生
C语言是计算机编程史上的一颗璀璨恒星,由贝尔实验室的肯·汤普逊和丹尼斯·里奇在20世纪70年代基于B语言开发。它凭借高效、灵活、可移植性强等特点迅速崛起,成为Unix操作系统的核心语言,并广泛应用于操作系统、嵌入式系统、游戏引擎等领域。C语言不仅推动了众多后续编程语言的发展,如C++、Java等,还通过多次标准化(C89、C99、C11等)不断适应新时代的需求,至今仍占据着计算机技术的重要地位。
437 0
|
编译器 Android开发
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
|
Android开发 Swift iOS开发
python 基于电脑蓝牙连接获取手机的实时数据
python 基于电脑蓝牙连接获取手机的实时数据
558 0
|
存储 安全 算法
深入解析Linux命令:cksum
`cksum`是Linux中用于计算文件CRC校验和及字节数的命令,有助于验证文件完整性。它的语法是`cksum [OPTION]... [FILE]...`,常用选项包括`-b`(按字节显示文件大小)、`-c`(检查校验和文件)等。通过示例展示了如何计算单个或多个文件的CRC,以及如何验证文件完整性。在系统管理和网络安全中,`cksum`可用于文件传输验证、备份检查和安全审计,确保文件未被篡改。
|
存储 前端开发 Java
Android应用开发中的MVP架构模式实践
【5月更文挑战第5天】随着移动应用开发的复杂性增加,传统的MVC(Model-View-Controller)架构在应对大型项目时显得笨重且不灵活。本文将探讨一种更适应现代Android应用开发的架构模式——MVP(Model-View-Presenter),并展示如何在Android项目中实现该模式以提升代码的可维护性和可测试性。通过对比分析MVP与传统MVC的差异,以及提供一个实际案例,读者将能深入了解MVP的优势和实施步骤。
361 9

热门文章

最新文章

下一篇
开通oss服务