标题:[求助]看你的水平有多高了!
只看楼主
zsc0315
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-11-10
 问题点数:0 回复次数:5 
[求助]看你的水平有多高了!
设计一个圆周率的算法,要求有尽可能高的精度(要求用数值分析来解决
搜索更多相关主题的帖子: 水平 
2005-11-10 09:06
yuki
Rank: 2
等 级:新手上路
威 望:5
帖 子:508
专家分:0
注 册:2005-2-4
得分:0 

你这标题耸人听闻,总觉得是为了自己交作业而来这里搜集答案的。


我们都在命运湖上荡舟划桨,波浪起伏使我们无法逃离孤行;如果我们迷失方向,波浪将指引我们穿过另一天曙光
2005-11-10 11:13
zsc0315
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-11-10
得分:0 
不愧是高人,一眼就识破了,我自己琢磨了半天了,可是不知道从哪着手,小弟才疏学浅,希望大家帮帮忙,不胜感激
2005-11-10 11:21
stnlcd
Rank: 1
等 级:新手上路
帖 子:177
专家分:1
注 册:2004-11-21
得分:0 
用随机投点法(概率算法范畴):
大概是:
[CODE]

double Com_Pi(int N) {
int k=0,i;
double x,y;
for(i=0;i<=N;i++) {
x=rand()%?+?
y=rand()%?+?;
if((x*x+y*y)<=1) k++;
}
return 4*k/(double)n;
}

[/CODE]
你自己研究吧,我对这个没兴趣。但这种算法理论上可以得到非常高的精度(看你的本事了)。

要让一个男人破产,请给他一架相机,要让一个男人倾家荡产,请给他一架望远镜。
2005-11-10 12:22
zsc0315
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-11-10
得分:0 
谢谢楼上的呀
2005-11-10 21:59
ysfabm
Rank: 1
等 级:新手上路
威 望:1
帖 子:274
专家分:0
注 册:2004-11-9
得分:0 
试试这个:
#include<stdio.h>
long a=10000,b,c=2800,d,e,f[2801],g;
void main(){for(;b-c;f[b++]=a/5);
for(;d=0,g=c*2;c-=14,printf("%.4d",e+d/a),e=d%a)
for(b=c;d+=f[b]*a,f[b]=d%--g,d/=g--,--b;d*=b);}

精诚所至,
       金石为开!
      PLM技术社区: [url=http://www.]www.[/url] 最专业的PLM技术讨论社区。
2005-11-11 08:13



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-33264-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.485951 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved