概率法计算PI


#include <iostream>
using namespace std;
//概率计算PI
int main()
{
int inside=0;
double val;
int i;
for ( i=0; i<100000000; i++)
{
double x = (double)(rand())/RAND_MAX;
double y = (double)(rand())/RAND_MAX;
if ( (x*x + y*y) <= 1.0 )
{
inside++;
}
}
val = (double)inside / i;
printf("PI = %.4g\n", val*4);
return 0;
}

概率法计算PI,布布扣,bubuko.com

时间: 2024-12-22 13:03:19

概率法计算PI的相关文章

Hello 2019 D 素因子贡献法计算期望 + 概率dp + 滚动数组

https://codeforces.com/contest/1097/problem/D 题意 给你一个n和k,问n经过k次操作之后留下的n的期望,每次操作n随机变成一个n的因数 题解 概率dp计算出每个素因子留下的概率,乘以这个素因子的值就是这个素因子的贡献期望 定义\(dp[i][j]\)为第i次操作后剩下j个素因子的概率,概率dp顺着推 \(dp[i][j]->dp[i+1][k](k<=j)\) \(dp[i+1][k]+=dp[i][j]\frac{1}{j+1}(k<=j)

最大概率法分词及性能測试

最大概率分词是一种最主要的统计方法分词.一个待切割的字符串有多种分词结果,最大概率分词的原则是将当中概率最大的那个作为该字符串的分词结果. 第一部分 理论基础 如对一个字符串: S:有意见分歧 分词结果1: w1:有/ 意见/ 分歧/ 分词结果2: w2:有意/ 见/ 分歧/ 最大概率分词就是要求得 Max(P(w1|s),P(w2|s)) . 依据贝叶斯公式: P(w|s)=P(s|w)P(w)/P(s)                                             

用hadoop计算PI值

一.计算PI值的方式与原理 百度一下,计算PI的方法还真不少.但在hadoop examples代码中的注释写的是:是采用 Quasi-Monte Carlo 算法来估算PI的值. 维基百科中对Quasi-Monte Carlo的描述比较理论,好多难懂的公式. 好在google了一把,找到了斯坦福大学网站上的一篇文章:<通过扔飞镖也能得出PI的值?>,文章很短,图文并茂,而且很好理解. 我这里将那篇文章的重要部分截了个图: 对上面的图再稍微解释一下:       1.Figure2是Figur

最大概率法分词及性能测试

最大概率分词是一种最基本的统计方法分词.一个待分割的字符串有多种分词结果,最大概率分词的原则是将其中概率最大的那个作为该字符串的分词结果. 第一部分 理论基础 如对一个字符串: S:有意见分歧 分词结果1: w1:有/ 意见/ 分歧/ 分词结果2: w2:有意/ 见/ 分歧/ 最大概率分词就是要求得 Max(P(w1|s),P(w2|s)) . 根据贝叶斯公式: P(w|s)=P(s|w)P(w)/P(s)                                             

最大概率法分词中词频惩罚因子的作用探究

在最大概率法分词的程序中,由于每个词出现的次数分布非常不均匀,而且我们要计算每个词出现的概率,对于出现次数比较少的词概率就很小,求句子中词的概率之积的时候,需要将好多非常小的数作乘法,可能会将超出计算机所能表示的数的最小范围.为了便于计算,常常要将每个词的概率求对数后在进行计算,但是由于对概率求对数后变为负值,因此要求对应的相反数.所以一个词出现的次数越多,最后求得对应的值越小,我们将这个值称为这个单词的代价.单词出现的次数越多,该单词的代价越低:否则代价越高. 第一部分 公式推导 假设:单词S

scala下使用akka计算pi

Akka 是一个用 Scala 编写的库,用于简化编写容错的.高可伸缩性的 Java 和 Scala 的 Actor 模型应用.它已经成功运用在电信行业.系统几乎不会宕机(高可用性 99.9999999 % 一年只有 31 ms 宕机. 用akka计算pi,计算公式: 这样,我们把这个公式每连续的elements个分成一段,一共分成message段. 然后开worker个actor同时计算,把结果合并.算出最终结果和耗时. 一:计算某一段的actor 我们需要一个工作actor,用来计算某一段的

欧几里得算法 - 计算两个正整数的最大公约数

欧几里得算法-计算两个正整数a,b的最大公约数 #定理:gcd(a,b) = gcd(b, a mod b) 终止条件:余数等于0 返回结果:余数等于0时的除数b # -*- coding: utf-8 -*- __author__ = 'nob' #迭代欧几里得 def iterative_gcd(a, b):     r = a % b     while(r):         a = b         b = r         r = a % b     return b     #

用递归法计算斐波那契数列的第n项

   斐波纳契数列(Fibonacci Sequence)又称黄金分割数列,指的是这样一个数列:1.1.2.3.5.8.13.21.--在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=F(n-1)+F(n-2)(n>=2,n∈N*)在现代物理.准晶体结构.化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1960年代起出版了<斐波纳契数列>季刊,专门刊载这方面的研究成果. [Fibonacci.cpp] #include<iostream>#

使用随机数计算pi值--java实现

1.先上一张图 2.原理分析 上图展示的是,在二维坐标图中,半径为1的圆的1/4, 随机n个点(x坐标在0~1之间,并且y坐标在0~1之间),落在半径为1的圆内部,当点的样本足够多的时候,形成1/4的饼图. 3.代码实现 /** * */ package com.sunny.www.interview; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.Scanner; /** * 使用随机数