Tính tổng các số từ 1 đến 100
Đề bài: Tính tổng các số từ 1 đến 100
Chào các bạn, nếu tính tổng 2 số a và b thì nó khá là đơn giả rồi, tuy nhiên để tính tổng nhiều số liên tiếp như đề bài thì chúng ta làm thế nào? Chúng ta nhận thấy rằng tính chất của các số từ 1 đến 100 là liên tiếp nên chúng ta có thể dùng vòng lặp for để thực hiện việc này.
/* * Calculate sum of number from 1 to 100 */ #include <stdio.h> int main() { int i; int sum = 0; for(i = 1; i <= 100; i++) { sum = sum + i; } printf("sum = %d\n", sum); return 0; }
Bài khá là đơn giản phải không các bạn! Tuy nhiên nếu các bạn để ý kỹ nữa thì có thể nhớ đến cách tính tổng các số liên tiếp bằng công thức của cấp số cộng.
Công thức tính tổng của dãy cấp số cộng như sau:
S = a1 + a2 + … + an = [n*(a1 + an)] / 2
Vậy là ta có thể dùng công thức này để tính tổng mà không cần phải dùng đến vòng lặp for nữa.
Bài tập 1: Tính tổng các số từ 1 đến 500 mà không dùng đến vòng lặp
Bài tập 2: Tính tổng các số từ 1 đến n. Với n nhập vào từ bàn phím
Bài tập 3: Tính tổng 1² + 2² + 3² + … + 100².
Phản hồi gần đây