ในปัญหานี้ เราได้รับตัวเลข 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