用 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
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP