Tính tổng S(n) = 1 + 2 + 3 + … + n

3
5079

Bài toán: Viết chương trình tính tổng của dãy số sau : S(n) = 1 + 2 + 3 + … + n.

  • Input
  • Output

Bài viết này mình sẽ hướng dẫn các bạn cách tính tổng của dãy số S(n) = 1 + 2 + 3 + … +n bằng hai phương pháp đó là sử dụng đệ quy và vòng lặp.

Cách tính dãy số S(n) bằng phương pháp đệ quy.

Ý tưởng:

  • Cách giải này cũng đơn giản: Để tính S(n) thì ta tính S(n-1) cộng với n.
  • Các bạn dùng điều kiện neo là S(1) = 1
  • Lưu ý: Điều kiện là n nhập vào phải lớn hơn hoặc bằng 1. Để xử lý cách nhập của n ta đơn giản dùng một vòng do whileđể nhập dữ liệu. Nếu n ≤ 0 thì ta tiến hành nhập lại dữ liệu cho n.

Nào chúng ta cùng xem chương trình sau sử dụng đệ quy để tính tổng dãy số S(n)

Mình xin 5 phút quảng cáo nha =))

Sau khi chạy chương trình trên ta có kết quả sau:

Cách tính dãy số S(n) bằng phương pháp lặp

  • Đầu tiên ta khởi tạo giá trị một biến sum = 0
  • Ta dùng một vòng lặp chạy từ 1 đến n.
  • Bên trong vòng lặp ta sẽ cộng giá trị của biến sum với i ( 1 ≤ i ≤ n )
  • Sau khi chạy xong vòng lặp thì ta tiến hành trả về giá trị của biến sum.

Cùng xem chương trình sau tính tổng dãy số S(n) như sau

Sau khi chạy chương trình trên thì ta có kết quả sau

Bài viết của mình đến đây là kết thúc. Cám ơn các bạn đã theo dõi !

avatar
1 Comment threads
2 Thread replies
2 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
Nguyễn Văn HiếuPov Pov Muas Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
Nguyễn Văn Hiếu
Admin
Nguyễn Văn Hiếu

Tổng này có 1 công thức nhanh là 1 + 2 + … + n = n*(n+1)/2 :))

Pov Pov Muas
Member
Pov Pov Muas

thế còn độ phức tạp của giải thuật

Nguyễn Văn Hiếu
Admin
Nguyễn Văn Hiếu

Nếu dùng công thức này thì đpt là O(1) ạ.