用 C++ 求出前 N 個自然數的平均值


在這個問題中,我們得到一個數字 n。我們的任務是求出前 N 個自然數的平均值

數字的平均值定義為所有數字的總和除以數字總數。

N 個自然數的平均值定義為前 N 個自然數的和除以 N。

我們舉個例子來理解這個問題,

Input : N = 23
Output : 12

說明

1 + 2 + 3 + ... + 22 + 23 = 276
276 / 23 = 12

解決方案方法

為了求出一個數字的平均值,我們將使用平均值公式,即:

平均值 = sum(N) / N

平均值 = (1 + 2 + 3 + ... + N) / N

我們知道 N 個自然數的和由公式給出,

$N^*(N+1)/2$

平均值為:

平均值 = N*(N+1)/2*N = (N + 1)/2

使用這個公式,我們可以求出前 N 個自然數的平均值。

示例

一個闡述我們解決方案工作原理的程式

#include <iostream>
using namespace std;
float calcAverage(int n) {
   return (float)( ((float)n + 1 )/2 );
}
int main() {
   int N = 45;
   cout<<"The average of first "<<N<<" natural numbers is "<<calcAverage(N);
   return 0;
}

輸出

The average of first 45 natural numbers is 23

更新時間: 27-Jan-2022

792 次瀏覽

開啟你的 職業生涯

完成課程獲得認證

開始行動
廣告
© . All rights reserved.