zoukankan      html  css  js  c++  java
  • 随机算法之求π

    用随机方法求π,具体方法如下:
    易想到用 S(正方形内切圆 )与S(正方形)比值求得
    我们首先对内切圆圆心为坐标原点建立坐标系, 考虑到随机函数rand()
    产生0~RAND_MAX的随机数,所以产生的点均落在第一象限,
    第一象限1/4圆和圆外 的点的个数比值即为 S(正方形内切圆 )与S(正方形)比值

    #include <stdio.h>
    #include <stdlib.h> //srand,rand,RAND_MAX
    #include <time.h> //time
    #include <math.h>
    
    int main(){
    	//比较10次运算结果
    	for(int i = 0 ; i < 10 ; i ++ ) {
    		double x,y;
    		int n,count;
    		srand((unsigned int)time(NULL));//初始化伪随机数生成器
    		printf("产生随机数个数(尽量较大):");
    		scanf("%d",&n);
    		count = 0;
    		for(int j = 0 ; j < n ; j ++ ){
    			x = rand()/(double)RAND_MAX;//0.0~1.0之间 
    			y = rand()/(double)RAND_MAX;
    			if(sqrt(1-x*x) >= y) //圆内 
    				count ++;
    		}
    		printf("pai:%5.8f
    ",4.0*count/n);
    	}
    	return 0;
    }
    

     参照:http://www.acmerblog.com/random-%cf%80-2512.html

  • 相关阅读:
    Web后门工具WeBaCoo
    苹果内存取证工具volafox
    PlayMaker GUI的Normalized
    Arduino可穿戴教程之第一个程序——选择端口(三)
    缩略图信息提取工具vinetto
    jquery的defer
    toDo
    瀑布流案例
    js基本知识6
    js基本知识5
  • 原文地址:https://www.cnblogs.com/emptyCoder/p/6377871.html
Copyright © 2011-2022 走看看