#include "iostream.h"
int main()
{
long n, sum, i;
cout << endl << "Nhap N: ";
cin >> n;
sum = 0;
for (i=2; i<=n; i+=2) sum+=i;
cout << "Tong cac so chan tu 2 den " << n << " la " << sum;
return 0;
}
Ý tưởng cho bài này khá đơn giản:
- Vòng lặp for (i=2; i<=n; i+=2) được dùng để lặp qua tất cả các số chẵn từ 2 đến N - sau mỗi lần lặp i+=2 nên i lại nhảy đến số chẵn kế tiếp. Biến sum dùng để lưu tổng các số chẵn.
Chú ý, nếu áp dụng một chút kiến thức toán học, ta suy ngay ra tổng các số chẵn từ 1 đến N thì bằng 2 lần tổng các số từ 1 đến [N/2], mà công thức tính tổng các số từ 1 đến [N/2] là: [N/2]*([N/2]+1)/2 => tổng cần tìm là [N/2]*([N/2]+1)
Từ công thức đó, ta có thể viết ngay một chương trình không dùng vòng for như sau:
#include "iostream.h"
int main()
{
long n;
cout << endl << "Nhap N: ";
cin >> n;
cout << "Tong cac so chan tu 2 den " << n << " la " << n/2*(n/2+1);
return 0;