Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ค้นหาค่าเฉลี่ยของจำนวนธรรมชาติ N ตัวแรกใน C++


ในปัญหานี้ เราได้รับตัวเลข n งานของเราคือ หาค่าเฉลี่ยของจำนวนธรรมชาติ N ตัวแรก .

ค่าเฉลี่ยของตัวเลข คือผลรวมของตัวเลขทั้งหมดหารด้วยจำนวนทั้งหมด

ค่าเฉลี่ยของจำนวนธรรมชาติ N ถูกกำหนดเป็นผลรวมของจำนวนธรรมชาติ N ตัวแรกหารด้วย N.

มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน

Input : N = 23
Output : 12

คำอธิบาย

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

แนวทางการแก้ปัญหา

ในการหาค่าเฉลี่ยของตัวเลข เราจะใช้สูตรค่าเฉลี่ยซึ่งก็คือ

ค่าเฉลี่ย =ผลรวม (N) / N

ค่าเฉลี่ย =(1 + 2 + 3 + ... + N) / N

เรารู้ว่าผลรวมของจำนวนธรรมชาติ N ถูกกำหนดโดยสูตร

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

ค่าเฉลี่ยคือ

ค่าเฉลี่ย =N * (N+1)/2 * ยังไม่มีข้อความ =(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