编写程序:计算π的近似值,π的计算公式为

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编写程序:计算π的近似值,π的计算公式为相关的知识,希望对你有一定的参考价值。

参考技术A

#include<stdio.h> 

main() 

int n,i; double t,

sum;/*1*/ 

printf("请输入n的值\\n"); 

scanf("%d",&n); 

sum=2; i=1; t=2;/*2*/ 

while(i<n) t=t*(2*i)*(2*i)/(2*i-1)/(2*i+1);

/*3*/ // sum=sum*t; i=i+1;  

printf("π的值=%f\\n",t);/*4*/

或。

写一个Java程序来实现蒙特卡洛法求π的近似值:

import java.io.BufferedReader;

import java.io.InputStreamReader;

public class MonteCarloPi

public static void main(String[] args) throws Exception

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

System.out.print("How many darts shoud I toss at the board?\\n");

String s = br.readLine();

int numberOfDarts = Integer.parseInt(s.trim());

double radius = 1.0;

Dartboard d = new Dartboard(radius);



for(int i=1; i<=numberOfDarts; i++)

Toss t = Toss.getRandom(radius);

d.strike(t);





double fractionIn = d.getFractionIn();

double pi = 4.0 * fractionIn;

System.out.println("Pi is approximately "+pi);



 class Dartboard



private double radius;

private int insideCircle, outsideCircle;



public Dartboard(double radius)

this.radius = radius;

insideCircle = 0;

outsideCircle = 0;





public void strike(Toss toss)

double x = toss.getX();

double y = toss.getY();



if(Math.sqrt(x*x + y*y) < radius)

insideCircle++;

else

outsideCircle++;





public double getFractionIn()

double total = (double) (insideCircle + outsideCircle);

return (double) insideCircle/total;



class Toss



private double x,y;



public Toss(double x, double y)

this.x = x;

this.y = y;



public double getX()return x;

public double getY()return y;



public static Toss getRandom(double radius)



double x,y;

double size = Math.random();

double sign = Math.random();

size = size * radius;



if(sign > 0.5)

x = size;

else

x = -size;



size = Math.random();

sign = Math.random();

size = size * radius;



if(sign > 0.5)

y = size;

else

y = -size;



return new Toss(x,y);



扩展资料:

C语言:用循环结构分别编写程序

#include

void main()

\\x09int n=1;

\\x09float temp;

\\x09float sum=0;

\\x09do

\\x09

\\x09\\x09temp=(float)1/(2*n-1);

\\x09\\x09if(n%2==1)

\\x09\\x09\\x09sum+=temp;

\\x09\\x09else

\\x09\\x09\\x09sum-=temp;

\\x09\\x09n++;

\\x09while(temp>=0.000001);

\\x09printf("Pi=%f\\n",sum*4);

c语言编程题 计算圆周率的近似值,计算公式为:e=1+1/1!+1/2!+1/3!+1/4!+1/

c语言编程题
计算圆周率的近似值,计算公式为:e=1+1/1!+1/2!+1/3!+1/4!+1/5!+1/6!+...(计算至最后一项约等于0)。

参考技术A

追答

本回答被提问者采纳

以上是关于编写程序:计算π的近似值,π的计算公式为的主要内容,如果未能解决你的问题,请参考以下文章

弧度与角度换算公式

角度与弧度的换算公式?

c语言编程题 计算圆周率的近似值,计算公式为:e=1+1/1!+1/2!+1/3!+1/4!+1/

编写程序用下面公式求π的近似值 π/4 ≈ 1- 1/3+1/5-1/7+…… 直到最后一项的绝对值小于10-7 为止

C语言试题九十一之写一个程序,用公式π/4=1-1/3+1/5-1/7+...,求π的近似值,直到最后一项的绝对值小于10^-8为止。

C语言试题九十一之写一个程序,用公式π/4=1-1/3+1/5-1/7+...,求π的近似值,直到最后一项的绝对值小于10^-8为止。