実験2-3-4単純なインターリーブシーケンスの最初のN項の合計を求めます(15ポイント)

この問題にはプログラミングが必要で、シーケンス1 - 1/4 + 1/7 - 1/10 + ...と最初のNエントリを計算します。

入力フォーマット:

1行に正の整数Nを入力します。

出力フォーマット:

sum = S部分和の値Sを」の形式で小数点以下3桁まで正確に1行で出力します。タイトルは、計算結果が倍精度の範囲を超えないことを保証します。

入力サンプル:

10

サンプル出力:

sum = 0.819

コード:

# include <stdio.h>
# include <stdlib.h>

int main() {
    
    
    int N,i,j = 1,m = 1;
    double sum = 0.0;
    scanf("%d",&N);
    for (i=1;i<=N;i++) {
    
    
        sum += (1.0 / m)*j;
        j *= (-1);
        m += 3;
    }
    printf("sum = %.3lf",sum);
    return 0;
}

スクリーンショットを送信:

ここに画像の説明を挿入します

問題解決のアイデア:

この質問は、上記の2つの質問を拡張したものであり、次の点に注意する必要があります。

  • 間隔変更番号なので、すべてのサイクルj *= (-1)
  • 2つの項の分母の絶対値は3で区切られているため、すべてのサイクルでm += 3
  • 最後に、sum = 0.0初期化する必要があります

おすすめ

転載: blog.csdn.net/weixin_43862765/article/details/114388833