利用公式 e = 1 + 1/1! + 1/2! + 1/3! + … + 1/n! 求 e。
輸入只有一行,該行包含乙個整數 n(2 ≤ n ≤ 20),表示計算 e 時累加到 1/n!。
輸出只有一行,該行包含計算出來的e的值,要求列印小數點後 10 位。
10
2.7182818011
思路:
整體思路:
求 1 + 1/1! + 1/2! + 1/3! + … + 1/n! 的值,首先第乙個 1 是固定的,
其次後面的式子 1/1! + 1/2! + 1/3! + … + 1/n!,每一項分子都是 1,而
分母是從 1 到 n 變化的,所以列舉 1~n,求得每個數的階乘分之一,然後累
加即可。
具體步驟:
1.定義 n,輸入 n。
2.定義乙個累加器 sum,用來儲存當前的累加和,初始化為 1。
3.列舉 1~n,求得當前數的階乘(用自定義函式求階乘)分之一,並累加到累加器中:
for (int i = 1; i <= n; i++)
4.保留 10 位小數輸出累加器。
5.自定義函式實現求階乘的功能:
int fac(int x)
return ans; // 返回累乘器,也即 x!
}
思考:
1°為什麼累加器要初始化為 1?可以初始化為其他值麼?可以不初始化麼?
2°可以把自定義函式的功能改為求階乘分之一麼?這樣改有什麼好處?有什
麼不好?你更喜歡哪一種呢?
完整**
#include using namespace std;
int fac(int x)
return ans; // 返回累乘器,也即 x! }
int main()
// 保留 10 位小數輸出累加器
printf("%.10f", sum);
return 0;
}
小韋老師 神犇營 my0049 登入驗證
描述 我們在登入 的時候需要驗證密碼是否正確。現在請你寫乙個程式來驗證登入密碼是否正確。密碼為 5 位數。本題的輸入共 5 行,前 4 行是存進去的 4 個密碼,第 5 行是需要驗證的密碼,需要驗證該密碼是否為存進去的第三個密碼,若是,則輸出 yes 否則輸出 no 輸入本題的輸入共 5 行,前 4...
小韋老師 神犇營 my0184 開關燈
假設有 n 盞燈 n 為不大於 5000 的正整數 從 1 到 n 按順序依次編號,初始時全部處於開啟狀態 有 m 個人 m 為不大於 n 的正整數 也從 1 到 m 依次編號。第乙個人 1 號 將燈全部關閉,第二個人 2 號 將編號為 2 的倍數的燈開啟,第三個人 3號 將編號為 3 的倍數的燈做...
小韋老師 神犇營 my0163 完全數
求正整數 2 和 n 之間的完全數 一行乙個數 完全數 因子之和等於它本身的自然數,如 6 1 2 3 輸入n 1 n 5000 一行乙個數,按由小到大的順序。76破題 考查因子的概念和自定義函式。因子意思是 a 能被 b 整除 a b 0 則說明 b 是 a 的因子。思路 1.首先定義變數 n,並...