求一个能计算圆周率的程序的源代码

求一个能计算圆周率的程序的源代码,要求如下:
语言不限,要能计算精确度在100万位以上
要求计算100万位花费的时间(以Pentium 4 3.0GHz CPU为基准),不大于1分钟
计算结果可以保存在外部文件中
计算结果必须是十进制的

2个回答

参考GPi——使用GPU计算圆周率
GPi是一款免费的、基于OpenCL的圆周率计算工具,可用于GPU性能测试,支持nVidia、AMD、Intel等厂商GPU、CPU。GPi可充分利用GPU强大的并行计算能力,使用主流显卡可在3秒内算得100万位,最多可计算2.7亿位。

zhou123see
zhou123see 这个程序肯定不行,在酷睿上跑100万超过20秒,那么在P4 3.0上肯定超过1分钟了。有没有能达到qpi那样,100万位在P4上耗时在几秒钟的程序。
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Java语言用泰勒公式计算圆周率,精确到0.0001,代码怎么写?

Java语言用泰勒公式计算圆周率,精确到0.0001,代码怎么写? Java语言用泰勒公式计算圆周率,精确到0.0001,代码怎么写?

着急,在线等,Java语言怎么用蒙特卡洛法计算圆周率?

着急,在线等,Java语言怎么用蒙特卡洛法计算圆周率? 着急,在线等,Java语言怎么用蒙特卡洛法计算圆周率? 着急,在线等,Java语言怎么用蒙特卡洛法计算圆周率?

javascript怎么实现蒙特卡洛法计算圆周率的值?

javascript怎么实现蒙特卡洛法计算圆周率的值?要javascript怎么调用?

c语言 计算圆周率π 的值

对于正整数n,在原点为圆心的一个半径n的圆盘内(包括圆周内的点)的整数格子点的个数设为C(n),n →∞的时候C(n) / n2接近圆周率。 基于这个求圆周率的近似值 输入一个n,C(n) / n2做为double型输出,C(n)为long型 【入力】 正整数 n 1つ。 【出力】 n と C(n) / n2 とを,書式を "%d:%.15f\n" として書き出せ。 【例】 输入例 1000 输出例 1000:3.141549000000000

计算圆周率到小数点后5n 位的程序,怎么使用C语言的代码程序的过程编写来实现的具体的思想

Problem Description 计算圆周率到小数点后5n 位。(本题不可打表) Input 正整数n<300. n=0结束. Output 圆周率pi到小数点后5n位.第1行输出3.以5个数为1段.每行最多10段,每段占6列,右对齐.参看Sample Sample Input 20 15 0 Sample Output 3. 14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280 34825 34211 70679 3. 14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286

Java语言运用公式计算的方法实现对圆周率pi值的计算的程序怎么写

Java语言运用公式计算的方法实现对圆周率pi值的计算的程序怎么写 Java语言运用公式计算的方法实现对圆周率pi值的计算的程序怎么写

Java语言计算圆周率,格力高力公式求圆周率,要求最后一项的公式小于0.0001

Java语言计算圆周率,格力高力公式求圆周率,要求最后一项的公式小于0.0001

圆周率在距离的计算上的一个用法,怎么利用C程序的语言的实现的方式来做?

Problem Description Most bicycle speedometers work by using a Hall Effect sensor fastened to the front fork of the bicycle. A magnet is attached to one of the spokes on the front wheel so that it will line up with the Hall Effect switch once per revolution of the wheel. The speedometer monitors the sensor to count wheel revolutions. If the diameter of the wheel is known, the distance traveled can be easily be calculated if you know how many revolutions the wheel has made. In addition, if the time it takes to complete the revolutions is known, the average speed can also be calculated. For this problem, you will write a program to determine the total distance traveled (in miles) and the average speed (in Miles Per Hour) given the wheel diameter, the number of revolutions and the total time of the trip. You can assume that the front wheel never leaves the ground, and there is no slipping or skidding. Input Input consists of multiple datasets, one per line, of the form: diameter revolutions time The diameter is expressed in inches as a floating point value. The revolutions is an integer value. The time is expressed in seconds as a floating point value. Input ends when the value of revolutions is 0 (zero). Output For each data set, print: Trip #N: distance MPH Of course N should be replaced by the data set number, distance by the total distance in miles (accurate to 2 decimal places) and MPH by the speed in miles per hour (accurate to 2 decimal places). Your program should not generate any output for the ending case when revolutions is 0. Constants For p use the value: 3.1415927. There are 5280 feet in a mile. There are 12 inches in a foot. There are 60 minutes in an hour. There are 60 seconds in a minute. There are 201.168 meters in a furlong. Sample Input 26 1000 5 27.25 873234 3000 26 0 1000 Sample Output Trip #1: 1.29 928.20 Trip #2: 1179.86 1415.84

C语言用递归求圆周率的值,怎么实现

C语言用递归求圆周率的值,要求精确到小数点后3位,不得使用循环

openMP入门,新手渣渣求解释下面的求圆周率的代码

#include <omp.h> static long num_steps = 100000; double step; #define NUM_THREADS 2 void main () { int i; double x, pi, sum[NUM_THREADS]; step = 1.0/(double) num_steps; omp_set_num_threads(NUM_THREADS) #pragma omp parallel { double x; int id; id = omp_get_thread_num(); for (i=id, sum[id]=0.0;i< num_steps; i=i+NUM_THREADS) { x = (i+0.5)*step; sum[id] += 4.0/(1.0+x*x); } } for(i=0, pi=0.0;i<NUM_THREADS;i++) pi += sum[i] * step; } 首先,static long num_steps的作用 其次, step = 1.0/(double) num_steps; ? 然后, x = (i+0.5)*step; 最后,谢谢解答

Java语言利用蒙特卡罗法计算一个圆的圆面积,并且据此计算出圆周率

Java语言利用蒙特卡罗法计算一个圆的圆面积,并且据此计算出圆周率 Java语言利用蒙特卡罗法计算一个圆的圆面积,并且据此计算出圆周率

用Java语言程序的代码的方式证明圆周率(PI)是一个小于SQRT(10)的数字,怎么证明呢

用Java语言程序的代码的方式证明圆周率(PI)是一个小于SQRT(10)的数字,怎么证明呢

MPI 求π的程序,谢谢大神

``` int main(argc,argv) int argc; char *argv[]; { int done = 0, n, myid, numprocs, i, rc; double PI25DT = 3.141592653589793238462643; double mypi, pi, h, sum, x, a; MPI_Init(&argc,&argv); MPI_Comm_size(MPI_COMM_WORLD,&numprocs); MPI_Comm_rank(MPI_COMM_WORLD,&myid); while (!done) { if (myid == 0) { printf("Enter the number of intervals: (0 quits) "); scanf("%d", &n); } //root MPI_Bcast(&n, 1, MPI_INT, 0, MPI_COMM_WORLD); if (n == 0) break; h = 1.0 / (double) n; // width of each sub sum = 0.0; for (i = myid + 1; i <= n; i += numprocs) // **这个 for-loop 里面的为什么是 i <= n; i += numprocs? 怎么理解这里?** { x = h * ((double)i - 0.5); sum += 4.0 / (1.0 + x*x); } mypi = h * sum; MPI_Reduce(&mypi, &pi, 1, MPI_DOUBLE, MPI_SUM, 0, MPI_COMM_WORLD); if (myid == 0) printf("pi is approximately %.16f, Error is %.16f\n", pi, fabs(pi - PI25DT)); } MPI_Finalize(); } ``` 哪个大神可以给我解释下这个算法的原理吗? 就好像哪个 for loop 为什么是 i += numprocs, 还有我不是很了解 MPI_BCAST AND MPI_REDUCE 在这里是怎么运行的。谢谢啦

用泰勒级数求圆周率的话,圆周率的精度和公式中的n的关系是什么啊 用OpenMP该怎么实现啊

![图片说明](https://img-ask.csdn.net/upload/202005/03/1588508146_204165.png) 找不到公式。。

C语言中如何实现在面积和体积等运算中定义圆周率π?

实现圆的面积,体积运算 试运算时的跟简单处理,如何定义圆周率

用蒙特卡洛方法求解圆周率

//蒙特卡洛法求圆周率 #include <iostream> #include <cmath> #include <cstdlib> #include <ctime> using namespace std; double FindPi(const long n) { srand(time(NULL)); long sum = 0; double x = 0.0, y = 0.0; for (long i = 0; i < n; i++) { x = (double)(rand())/(double)RAND_MAX; y = (double)(rand())/(double)RAND_MAX; if (x*x + y*y <= 1) { sum++; } if (i % 10000 == 0) { system("clear"); cout<<"运行了"<<i<<"次运算,完成了总运算的"<<(double)i/(double)n*100.0<<"%"<<endl; } } return 4.0*((double)sum/(double)n); } int main() { long n = 0; cout<<"输入模拟次数:"; cin>>n; if (n <= 0) { cout<<"输入错误"<<endl; exit(1); } double pi = FindPi(n); cout.precision(50); cout<<"模拟"<<n<<"次,pi = "<<pi<<endl; return 0; } 这个代码为什么算出来的总是在3左右,而不是3.14?

C语言用递归求圆周率的值,要求精确到小数点后3位,不得使用循环

C语言用递归求圆周率的值,要求精确到小数点后3位,不得使用循环

hadoop初学者,集群建立成功,执行圆周率例子,出现如下错误,请大神们帮忙看下

![图片说明](https://img-ask.csdn.net/upload/201811/25/1543156507_815714.png) ![图片说明](https://img-ask.csdn.net/upload/201811/25/1543156530_104293.png) ![图片说明](https://img-ask.csdn.net/upload/201811/25/1543156542_228950.png)

程序员的兼职技能课

程序员的兼职技能课

为linux系统设计一个简单的二级文件系统

实验目的: 通过一个简单多用户文件系统的设计,加深理解文件系统的内部功能及内部实现。 实验要求: 为linux系统设计一个简单的二级文件系统。要求做到以下几点: (1)可以实现下列几条命令(至少4条)

CCNA+HCNA+wireshark抓包综合网工技能提升套餐

本套餐包含思科路由交换CCNA,部分CCNP核心,华为HCNA以及wireshark抓包等类容,旨在培养具有综合能力的网络工程师。

董付国老师Python全栈学习优惠套餐

购买套餐的朋友可以关注微信公众号“Python小屋”,上传付款截图,然后领取董老师任意图书1本。

成年人用得到的6款资源网站!各个都是宝藏,绝对让你大饱眼福!

不管是学习还是工作,我们都需要一些资源帮助我们有效地解决实际问题。 很多人找资源只知道上百度,但是你们知道吗,有的资源是百度也搜索不出来的,那么今天小编就给大家介绍几款好用的资源网站,大家赶紧收入囊中吧! 1.网盘007 https://wangpan007.com/ 一款全能的资源搜索网站!只需要输入关键字,就能获得你想要的视频、音乐、压缩包等各种资源,网上...

矿车轴载荷计算方法的比较及选用

针对矿车轴的弯曲损坏,分析了固定式矿车车轴的受力,并对力叠加法以及当量负荷法2种计算方法进行了分析和比较,认为应采用当量负荷法进行车轴的设计计算。

Python数据清洗实战入门

Python数据清洗实战入门

C/C++跨平台研发从基础到高阶实战系列套餐

一 专题从基础的C语言核心到c++ 和stl完成基础强化; 二 再到数据结构,设计模式完成专业计算机技能强化; 三 通过跨平台网络编程,linux编程,qt界面编程,mfc编程,windows编程,c++与lua联合编程来完成应用强化 四 最后通过基于ffmpeg的音视频播放器,直播推流,屏幕录像,

Polar编码matlab程序

matlab实现的Polar codes源程序

2019全国大学生数学建模竞赛C题原版优秀论文

2019全国大学生数学建模竞赛C题原版优秀论文,PDF原版论文,不是图片合成的,是可编辑的文字版。共三篇。 C044.pdf C137.pdf C308.pdf

Linux常用命令大全(非常全!!!)

Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解到的命令列举一下,仅供大家参考: 系统信息 arch 显示机器的处理器架构 uname -m 显示机器的处理器架构 uname -r 显示正在使用的内核版本 d...

Linux下聊天室实现(基于C)

在linux下的基于TCP/IP,采用socket通信的聊天室,实现进入聊天室,进行多人群聊,指定人进行私聊,群主管理员功能,颗进行禁言,提出群聊等操作。个人账号可修改昵称或者修改密码,还可进行找回密

一个较完整的Qt用户登录界面设计

一个较完整的Qt用户登录界面,稍微移植可用,用sqlite数据库存储用户名和密码,具有增加和删除用户的功能,开发环境为ubuntu16.04+Qt5.6.1,win7下程序也编译可用。贡献出来,共同学

机器学习初学者必会的案例精讲

机器学习初学者必会的案例精讲

【C语言】贪吃蛇游戏代码(Visual C++6.0实现)

本游戏代码参考《C语言项目开发全程实录(第二版)》第六章。代码已在Visual C++6.0环境下编译测试通过,可在VC++6.0编译器中导入工程编译运行查看效果,或者也可以直接运行Release或D

Android小项目——新闻APP(源码)

Android小项目——新闻APP(源码),一个很简单的可以练手的Android Demo Ps:下载之前可以先看一下这篇文章——https://blog.csdn.net/qq_34149526/a

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

Android音视频开发全套

Android平台音视频开发全套,涉及:FFmpeg软解码解码、Mediacodec硬解码编码、Openssl音频播放、OpenGL ES视频渲染、RTMP推流等核心重要知识点。

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

2019 Python开发者日-培训

2019 Python开发者日-培训

2019 AI开发者大会

2019 AI开发者大会

Windows版YOLOv4目标检测实战:训练自己的数据集

Windows版YOLOv4目标检测实战:训练自己的数据集

4小时玩转微信小程序——基础入门与微信支付实战

4小时玩转微信小程序——基础入门与微信支付实战

因为看了这些书,我大二就拿了华为Offer

四年了,四年,你知道大学这四年我怎么过的么?

Python可以这样学(第四季:数据分析与科学计算可视化)

Python可以这样学(第四季:数据分析与科学计算可视化)

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

YOLOv3目标检测实战系列课程

《YOLOv3目标检测实战系列课程》旨在帮助大家掌握YOLOv3目标检测的训练、原理、源码与网络模型改进方法。 本课程的YOLOv3使用原作darknet(c语言编写),在Ubuntu系统上做项目演示。 本系列课程包括三门课: (1)《YOLOv3目标检测实战:训练自己的数据集》 包括:安装darknet、给自己的数据集打标签、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算和画出PR曲线)和先验框聚类。 (2)《YOLOv3目标检测:原理与源码解析》讲解YOLOv1、YOLOv2、YOLOv3的原理、程序流程并解析各层的源码。 (3)《YOLOv3目标检测:网络模型改进方法》讲解YOLOv3的改进方法,包括改进1:不显示指定类别目标的方法 (增加功能) ;改进2:合并BN层到卷积层 (加快推理速度) ; 改进3:使用GIoU指标和损失函数 (提高检测精度) ;改进4:tiny YOLOv3 (简化网络模型)并介绍 AlexeyAB/darknet项目。

DirectX修复工具V4.0增强版

DirectX修复工具(DirectX Repair)是一款系统级工具软件,简便易用。本程序为绿色版,无需安装,可直接运行。 本程序的主要功能是检测当前系统的DirectX状态,如果发现异常则进行修复

C++语言基础视频教程

C++语言基础视频教程

形考任务一答案.zip

国开电大VisualBasic程序设计形考任务答案 请同学选择课程实验栏目“实验1 欢迎程序”或“实验2 计时秒表程序”的其中之一,在VB集成开发环境中认真完成实验。

相关热词 c#跨线程停止timer c#批量写入sql数据库 c# 自动安装浏览器 c#语言基础考试题 c# 偏移量打印是什么 c# 绘制曲线图 c#框体中的退出函数 c# 按钮透明背景 c# idl 混编出错 c#在位置0处没有任何行
立即提问