【基础算法】概率算法 & C++实现

简介: 概率算法 & C++实现

●蒙特卡洛问题


bf25e897cfede83bca30e0fc210e1277_93a3dca2dd774c3b8d8170df8cc1b4a3.png

#include<iostream>
#include<cmath>
#include<ctime>
#include<cstdlib>
using namespace std;
class gailv {
public:
  gailv()
  {
  cout << "输入点的数量:" << endl;
  }
  int montepi(int a)
  {
  srand(time(NULL));  //产生随机数种子
  for(int i=1;i<a;i++)
  { 
    x = (double)rand()/RAND_MAX; //x方向上产生0~1的随机数
    y =(double)rand()/ RAND_MAX;  //y方向上产生0~1的随机数
    if (pow(x, 2) + pow(y, 2) <= 1)  //x^2+y^2<=1; 阴影的区域
    sum++;  //记录点的个数
  }
  pi = (4.0 * sum) / (double)a;   //  sum表示了阴影区域面积/a表示了正方形区域的面积
  return pi;
  }
  ~gailv()
  {
  cout << "蒙特卡洛算法所求的pi的值:" << pi << endl;
  }
  int n;
  double pi;
  double x, y;
  double sum;
};
void text()
{
  gailv gl;
  cin>>gl.n;
  gl.sum = 0;
  gl.montepi(gl.n);
}
int main()
{
  text();
}

bbb79afa05c000567cb86ddadd7fe4da_dc52af29ee9a4e898b3bbcbc24fd2566.png

目录
相关文章
|
3天前
|
存储 算法 安全
基于红黑树的局域网上网行为控制C++ 算法解析
在当今网络环境中,局域网上网行为控制对企业和学校至关重要。本文探讨了一种基于红黑树数据结构的高效算法,用于管理用户的上网行为,如IP地址、上网时长、访问网站类别和流量使用情况。通过红黑树的自平衡特性,确保了高效的查找、插入和删除操作。文中提供了C++代码示例,展示了如何实现该算法,并强调其在网络管理中的应用价值。
|
1天前
|
存储 算法 安全
基于哈希表的文件共享平台 C++ 算法实现与分析
在数字化时代,文件共享平台不可或缺。本文探讨哈希表在文件共享中的应用,包括原理、优势及C++实现。哈希表通过键值对快速访问文件元数据(如文件名、大小、位置等),查找时间复杂度为O(1),显著提升查找速度和用户体验。代码示例展示了文件上传和搜索功能,实际应用中需解决哈希冲突、动态扩容和线程安全等问题,以优化性能。
|
3月前
|
存储 算法 C++
高精度算法(加、减、乘、除,使用c++实现)
高精度算法(加、减、乘、除,使用c++实现)
757 0
高精度算法(加、减、乘、除,使用c++实现)
|
3月前
|
存储 算法 决策智能
【算法】博弈论(C/C++)
【算法】博弈论(C/C++)
|
3月前
|
存储 算法 C++
【算法】哈希映射(C/C++)
【算法】哈希映射(C/C++)
|
3月前
|
机器学习/深度学习 人工智能 算法
【算法】最长公共子序列(C/C++)
【算法】最长公共子序列(C/C++)
|
3月前
|
人工智能 算法 BI
一篇带你速通差分算法(C/C++)
一篇带你速通差分算法(C/C++)
|
3月前
|
人工智能 算法 C++
一篇带你速通前缀和算法(C/C++)
一篇带你速通前缀和算法(C/C++)
|
3月前
|
存储 算法 C++
弗洛伊德(Floyd)算法(C/C++)
弗洛伊德(Floyd)算法(C/C++)
|
3月前
|
存储 算法 程序员
迪杰斯特拉(Dijkstra)算法(C/C++)
迪杰斯特拉(Dijkstra)算法(C/C++)