【基础算法】概率算法 & 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

目录
相关文章
|
15天前
|
算法 C++
算法笔记:递归(c++实现)
算法笔记:递归(c++实现)
|
2天前
|
算法 数据中心 C++
基于C++雪花算法工具类Snowflake -来自chatGPT
基于C++雪花算法工具类Snowflake -来自chatGPT
8 1
|
8天前
|
算法 数据处理 C++
C++一分钟之-迭代器与算法
【6月更文挑战第21天】C++ STL的迭代器统一了容器元素访问,分为多种类型,如输入、输出、前向、双向和随机访问。迭代器使用时需留意失效和类型匹配。STL算法如查找、排序、复制要求特定类型的迭代器,注意容器兼容性和返回值处理。适配器和算法组合增强灵活性,但过度使用可能降低代码可读性。掌握迭代器和算法能提升编程效率和代码质量。
23 3
|
12天前
|
算法 前端开发 Linux
【常用技巧】C++ STL容器操作:6种常用场景算法
STL在Linux C++中使用的非常普遍,掌握并合适的使用各种容器至关重要!
38 10
|
14天前
|
算法 C++
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题-2
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题
|
14天前
|
算法 C++
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题-1
【数据结构与算法】:关于时间复杂度与空间复杂度的计算(C/C++篇)——含Leetcode刷题
|
14天前
|
存储 算法 C++
【数据结构与算法】:带你手搓顺序表(C/C++篇)
【数据结构与算法】:带你手搓顺序表(C/C++篇)
|
22天前
|
存储 算法 Cloud Native
C++ bcrypt算法 字符串加密,亲测有效
C++ bcrypt算法 字符串加密,亲测有效
|
3天前
|
算法 搜索推荐 C++
C++之STL常用算法(遍历、查找、排序、拷贝、替换、算数生成、集合)
C++之STL常用算法(遍历、查找、排序、拷贝、替换、算数生成、集合)
12 0
|
15天前
|
算法 C++
【c/c++算法】曼哈顿算法简单运用
【c/c++算法】曼哈顿算法简单运用