當前位置:編程學習大全網 - 編程語言 - 數列問題的程序設計

數列問題的程序設計

在源代碼排版下:

# include & ltiostream & gt

使用?命名空間?std

int?main()?{

int?n?=?3;

int?壹個[?1000?]?=?{?0?};?//定義壹個數組

int?s?=?1;

為了什麽?(?int?n?=?n;?n?& gt=?1;?n -?)

{

int?r?=?s % n;

s?=?s?/?n?+?1;

int?我?=?0;

為了什麽?(?;?我& ltn;?i++?)

{

r?=?r?*?10?+?壹個[?我?];

壹個[?我?]?=?r?/?n;

r?%=?n;

}

為了什麽?(?我?=?n?-?1;?我& gt0;?我-?)

{

壹個[?我?-?1?]?+=?壹個[?我?]?/?10;

壹個[?我?]?%=?10;

}

s?+=?壹個[?0?]?/?10;

壹個[?0?]?%=?10;

}

cout?& lt& lt?s?& lt& lt?".";

為了什麽?(?int?我?=?0;?我?& lt?n;?i++?)

{

cout?& lt& lt?壹個[?我?];

}

cout?& lt& lt?endl

系統(?“暫停”?);

回歸?0;

} ?這個算法用於計算自然對數e的近似值,結果存儲在壹個內存數組中。數學思想是基於歐拉1748的公式(3),改進了牛頓二項式定理。

這個公式使得歐拉能夠將E精確到小數點後23位。受歐拉公式啟發,衍生出許多變種。其中壹個變體是

該算法是公式(4)的翻譯。第壹個外部循環是將等式(4)中的每個括號項相乘。當k足夠大時,公式≈0,所以可以初始化為s=1。第壹個內循環是計算(1+r)/k,將每個小數存儲在對應的數組位置。因為每個內循環每個小數位都會加壹定的商,會超過10,所以會放在前壹個裏,第二個就是這麽做的。

我覺得看公式前面的代碼要容易得多,我沒必要把代碼每壹步的具體意思都寫出來。

有很多計算e的高效算法,請看參考資料。

參考資料:

putation.free.fr/Constants/E/e.html#eSeries

putation . free . fr/Constants/tiny programs/tiny codes . html # tth _ sec 2

/questions/3028282/壹種高效的計算數學常數的方法

/questions/33015/why-my-c-program-for-calculation-eulers-constant-of-poor-quality/33019 # 33019

  • 上一篇:對於盜版軟件的調查與分析 1500字
  • 下一篇:什麽叫做 腳本
  • copyright 2024編程學習大全網