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

โปรแกรม C++ หาผลรวมกำลังสองของ n จำนวนธรรมชาติแรก


ในปัญหานี้เราจะดูวิธีหาผลรวมกำลังสองของ n จำนวนธรรมชาติแรก เราใช้ for loop หนึ่ง วนจาก 1 ถึง n ในแต่ละขั้นคำนวณกำลังสองของพจน์และบวกเข้ากับผลรวม โปรแกรมนี้ใช้เวลา O(n) แต่ถ้าอยากแก้ใน O(1) หรือ constant time เราสามารถใช้สูตรอนุกรมได้ −

โปรแกรม C++ หาผลรวมกำลังสองของ n จำนวนธรรมชาติแรก

อัลกอริทึม

squareNNatural(n)

begin
    sum := 0
    for i in range 1 to n, do
        sum := sum + i^2
    done
    return sum
end

ตัวอย่าง

#include<iostream>
using namespace std;

long square_sum_n_natural(int n) {
    long sum = 0;
    for (int i = 1; i <= n; i++) {
        sum += i * i; // square i and add it with sum
    }
    return sum;
}

int main() {
    int n;
    cout << "Enter N: ";
    cin >> n;
    cout << "Result is: " << square_sum_n_natural(n);
}

ผลลัพธ์

Enter N: 4
Result is: 30