Computer >> Máy Tính >  >> Lập trình >> C ++

Tổng của chuỗi 1 + (1 + 3) + (1 + 3 + 5) + (1 + 3 + 5 + 7) + + (1 + 3 + 5 + 7 + .... + (2n-1) ) trong C ++

Trong bài toán này, chúng ta được cung cấp một số nguyên n. Nhiệm vụ của chúng ta là tạo một chương trình để tìm tổng của dãy số 1 + (1 + 3) + (1 + 3 + 5) + (1 + 3 + 5 + 7) + + (1 + 3 + 5 + 7 + .... + (2n-1)).

Từ chuỗi này, chúng ta có thể thấy rằng số hạng thứ i của chuỗi là tổng của i số lẻ đầu tiên.

Hãy lấy một ví dụ để hiểu vấn đề,

Đầu vào

 n =3 

Đầu ra

 14 

Giải thích - (1) + (1 + 3) + (1 + 3 + 5) =14

Một giải pháp đơn giản cho vấn đề này là sử dụng một vòng lặp lồng nhau và sau đó cộng tất cả các số lẻ vào một biến tổng. Sau đó, trả lại số tiền.

Ví dụ

Chương trình minh họa hoạt động của giải pháp của chúng tôi,

 #include  using namespace std; int calcSeriesSum (int n) {int sum =0, element =1; for (int i =1; i <=n; i ++) {element =1; for (int j =1; j <=i; j ++) {sum + =phần tử; phần tử + =2; }} return sum;} int main () {int n =12; cout <<"Tính tổng của dãy số 1 + (1 + 3) + (1 + 3 + 5) + (1 + 3 + 5 + 7) + ... + (1 + 3 + 5 + 7 + ... + (2 "< 

Đầu ra


Tổng của chuỗi 1 + (1 + 3) + (1 + 3 + 5) + (1 + 3 + 5 + 7) + ... + (1 + 3 + 5 + 7 + ... + (2 * 12-1)) là 650


Cách tiếp cận này không hiệu quả vì nó sử dụng hai vòng lặp lồng nhau.

Một cách tiếp cận hiệu quả hơn là tìm công thức chung về mặt toán học để tìm tổng của chuỗi.

Tổng của n số lẻ,

=(1) + (1 + 3) + (1 + 3 + 5) +…. (1 + 3 + 5 + ... + 2n-1)

=n2

Đầu tiên, hãy xem tổng của n số lẻ đầu tiên, đại diện cho các phần tử riêng lẻ của chuỗi.

Tổng của chuỗi,

 sum =(1) + (1 + 3) + (1 + 3 + 5) +… + (1 + 3 + 5 +… + 2n-1) sum =∑ (1 + 3 + 5 +… + 2n-1) sum =∑ n2sum =[n * (n + 1) * (2 * n -1)] / 6 

Ví dụ

Chương trình minh họa hoạt động của giải pháp của chúng tôi,

 #include  using namespace std; int calcSeriesSum (int n) {return (n * (n + 1) * (2 * n + 1)) / 6;} int main () {int n =9; cout <<"Tính tổng của dãy số 1 + (1 + 3) + (1 + 3 + 5) + (1 + 3 + 5 + 7) + ... + (1 + 3 + 5 + 7 + ... + (2 * "< 

Đầu ra

Tổng của chuỗi 1 + (1 + 3) + (1 + 3 + 5) + (1 + 3 + 5 + 7) + ... + (1 + 3 + 5 + 7 + ... + (2 * 9-1)) là 285