首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言計算交替調和級數 1 - 1/2 + 1/3 - 1/4 … + 1/99 - 1/100

     編輯:關於C語言

方法一:pow(-1, n+1) 正負號切換

#include 
#include 

int main() {
    float sum = 0;
    for (int n = 1; n <= 100; n++) {
        float sign = pow(-1, n+1);   // 奇項正、偶項負
        sum += sign / n;
    }
    printf("%f\n", sum);
    return 0;
}

方法二:旗標變數翻轉(優化,無浮點冪運算)

#include 

int main() {
    double sum = 0;
    int flag = 1;
    for (int n = 1; n <= 100; n++) {
        sum += flag * (1.0 / n);
        flag = -flag;                // 1 → -1 → 1 …
    }
    printf("%lf\n", sum);
    return 0;
}

結果

0.688172

(以 double 精度計算)

數學背景

此級數為 ln(2) 的部分和,隨項數增加趨近 0.693147…。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved