用 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 次浏览

开启你的 职业生涯

完成课程获得认证

开始行动
广告