c語言montecarlo,李洵愛心代碼編程C語言

本文目錄一覽:

用C語言寫,用蒙特卡洛和矩形法求y=sinx+cosx(0

#includestdio.h

#includestdlib.h

#includemath.h

#includetime.h

double f(double x){

return sin(x)+cos(x);

};

double RECT(int count){

double area = 0.0;

int i = 0;

double x = 0.0;

double width = 1.0/count;

for(i=0;icount;i++){

area+= f(x+i*width)*width;

}

return area;

};

double MonteCarlo(int count){

int M = 0;

int i = 0;

srand((int)(time(NULL)));

for(i = 0; i count; i ++){

double x = 1.0*rand()/(RAND_MAX+1.0);

double y = 2.0*rand()/(RAND_MAX+1.0);

if(y=f(x)){

M++;

}

}

return 2.0*M/count;

};

int main(){

printf(“%lf\n”,MonteCarlo(10000));

printf(“%lf\n”,RECT(10000));

return 0;

}

有關c語言

#include”stdio.h”

#include”stdlib.h”

#includemath.h

#includetime.h

bool toss()

{

double x =0.0, y=0.0;

double sign=((double)rand()/RAND_MAX);

double size=((double)rand()/RAND_MAX);

if (sign0.5)

x=size;

else

x=-size;

sign=((double)rand()/RAND_MAX);

size=((double)rand()/RAND_MAX);

if (sign0.5)

y=size;

else

y=-size;

double z=sqrt(x*x+y*y);

if (z1)

return false;

else

return true;

}

double ratio (int num)

{

int i,sum=0;

srand((unsigned)time(0));

for(i=0;inum;i++)

{

if (toss()==1)

sum++;

}

return (double) sum / (double) num;

}

double MonteCarloPi(int num)

{

return ratio(num)*4;

}

int main()

{

double pi =MonteCarloPi(10000);

printf(“PI=%f\n”,pi);

return 0;

}

C語言一次同時扔2個骰子,共扔24次計算至少有一次是2個骰子都為6的概率

改成浮點數的除法即可

double probabilityByMath()

{double p,p1,p2;

p1=1-(1.0/6)*(1.0/6);

p2=pow(p1,24);

p=1-p2;

return p;

}

為什麼答案還是輸出1.0000?C語言

當第一次 滿足 if(a==6b==6) 條件 後, 執行了一次 x=x+1; 於是今後 x 必定 大於 0

接着,因為 i 每循環一次 if(x0) 的條件 100% 的機會成立, 於是必做 m6=m6+1;。

這樣 m6 幾乎 等於 i.

循環n次以後, m6 幾乎等於 n ,所以 概率 接近 1。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/193406.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-01 15:01
下一篇 2024-12-01 15:01

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變量和數…

    編程 2025-04-29
  • 如何用Python寫愛心

    本文將會從多個方面闡述如何用Python語言來畫一個美麗的愛心圖案。 一、準備工作 在開始編寫程序之前,需要先理解一些編程基礎知識。首先是繪圖庫。Python有很多繪圖庫,常見的有…

    編程 2025-04-29
  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在着手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29

發表回復

登錄後才能評論