求π的近似值

int main()
{
    int i,n,sum=0;
    double x,y;
    printf("输入点的数量:");
    scanf("%d",&n);
    srand(time(NULL));
    //点落在阴影里面的次数除了总次数,得出概率,就为阴影部分的面积。
    for(i=1;i<n;i++)
    {
        x=(double)rand()/RAND_MAX; //产生0~1之间的一个随机数
        y=(double)rand()/RAND_MAX;//产生0~1之间的一个随机数
        if((x*x+y*y)<=1) //若在阴影区域
            sum++; //计数
    }
    printf("PI=%f\n",(double)4*sum/n); //输出结果
    getch();
    return 0;
}
时间: 2024-08-08 14:28:23

求π的近似值的相关文章

c语言:求π的近似值

用公式π/4=1-1/3+1/5-1/7...求π的近似值,直到发现某一项的绝对值小于10^6为止(该项不累加) 解:程序: #include<stdio.h> #include<math.h> int main() { int sign = 1; double pi = 0.0, n = 1.0, term = 1.0;//term表示当前项 while (fabs(term) >= 1e-6) { pi += term; n += 2; sign = -sign; ter

BZOJ 3000(Big Number-Stirling公式求n!近似值)

3000: Big Number Time Limit: 2 Sec  Memory Limit: 128 MB Submit: 220  Solved: 62 [Submit][Status] Description 给你两个整数N和K,要求你输出N!的K进制的位数. Input 有多组输入数据,每组输入数据各一行,每行两个数--N,K Output 每行一个数为输出结果. Sample Input 2 5 2 10 10 10 100 200 Sample Output 1 1 7 69 对

【c语言】用π/4 ≈ 1 - 1/3 + 1/5 - 1/7 +... 公式求π的近似值,直到发现某一项的绝对值小于10^6为止。

// 用π/4 ≈ 1 - 1/3 + 1/5 - 1/7 +... 公式求π的近似值,直到发现某一项的绝对值小于10^6为止. #include <stdio.h> #include <math.h> int main() { double sign = 1.0; int i; double sum = 0.0; for(i = 1;fabs(i) < pow( 10,6 ); i = i + 2) { sum = sum + sign / i; sign = ( -1 )

求∏的近似值

#include<stdio.h>#include<math.h>int main(){         int i=3;         double sum=1.0;         int sign=-1;         while(fabs(1.0/i)>1e-6)         {              sum+=(1.0/i)*sign;              sign=sign*(-1);              i=i+2;          }

下列给定程序中函数fun的功能是:用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数为止,π/4=1-1/3+1/5-1/7+...,例如,程序运行后,输入0.0001,程序输出3.1414

#include <math.h> #include <stdio.h> float fun ( float num ) { int s ; float n, t, pi ; t = 1 ; pi = 0 ; n = 1 ; s = 1 ; /**************found**************/ while(fabs(t) >= num) { pi = pi + t ; n = n + 2 ; s = -s ; /**************found****

用π/4求π的近似值【C】

#include<stdio.h>int main(){    double pi=0;         //pi    double t=1.0;       //项    double n=1.0;      //分母     int s=-1;             //符号     while(t>=1e-6)    {        t=1.0/n;        pi=pi-t*s;        n=n+2;        s=-s;    }    printf(&qu

【006】求pi的近似值

[题目] 用下面公式求π的近似值.π/4≍1-1/3+1/5-1/7+…直到最后一项的绝对值小于10的-7次方为止. 根据给定的算法很容易编写程序如下: [解答] #include <iostream> #include <iomanip> #include <cmath> using namespace std; int main( ) {int s=1; double n=1,t=1,pi=0; while((fabs(t))>1e-7) {pi=pi+t;

求圆周率π的几种方法

方法1:概率法求π的近似值. 概率法又称蒙特卡罗法.假设有一个半径为1的圆,则四分之一圆的面积等于1/4π.通过概率法计算出四分之一圆的面积,也就得到了1/4π.具体过程为:利用随机函数产生横坐标x和纵坐标y(两个值在0~1之间),接着判断由这两个随机数构成的点是否位于1/4圆的区域内,若该点位于1/4圆内则进行计数.由于随机函数生成的点坐标有一定的均匀性,当生成的点足够多时,就可得到阴影内和阴影外点的近似均匀分布. #include <stdio.h> #include <stdlib

附加练习2

1.用公式求的π近似值,直到发现某一项的绝对值小于为止(该项不累加). 主要代码: double pi = 0, n = 1, term = 1; int sign = 1; for (; Math.Abs(term) > 1e-6; ) { pi += term; n += 2; sign = -sign; term = sign / n; } pi *= 4; Console.WriteLine(pi); Console.ReadLine(); int f1 = 1, f2 = 1; for