Số tự nhiên được định nghĩa là các số nguyên không âm 0, 1, 2, 3,… (thường được ký hiệu là N0, để nhấn mạnh rằng số 0 cũng được bao gồm). Đôi khi, người ta định nghĩa số tự nhiên gồm các số nguyên dương 1, 2, 3,… (thường được ký hiệu là N1, N+ hoặc N* với nhấn mạnh rằng số 0 bị loại trừ).
1. Sử dụng công thức toán học
Trong toán học, chúng ta đều biết công thức tính tổng n số tự nhiên đầu tiên: S = (n*(n+1))/2. Bên dưới là đoạn chương trình C++ giúp tính tổng n số tự nhiên đầu tiên theo công thức này.
#include <iostream>
using namespace std;
int main()
{
int n, sum;
cout << "Nhap so n: ";
cin >> n;
sum = n * (n + 1) / 2;
cout << "Tong " << n << " so tu nhien dau tien la: " << sum;
return 0;
}
Trong đoạn code trên, ta sử dụng biến n để lưu số lượng số tự nhiên đầu tiên cần tính tổng. Ta tính tổng bằng cách sử dụng công thức (n*(n+1))/2
và lưu kết quả vào biến sum. Cuối cùng, ta in ra kết quả tổng của n số tự nhiên đầu tiên.
2. Sử dụng vòng lặp trong C++
Để tính tổng n số tự nhiên đầu tiên, ta có thể sử dụng một vòng lặp for để cộng dồn các số đó lại với nhau. Dưới đây là một đoạn code mẫu trong C++:
#include <iostream>
using namespace std;
int main()
{
int n, sum = 0;
cout << "Nhap so n: ";
cin >> n;
for (int i = 1; i <= n; i++) {
sum += i;
}
cout << "Tong " << n << " so tu nhien dau tien la: " << sum;
return 0;
}
Trong đoạn code trên, ta sử dụng biến n để lưu số lượng số tự nhiên đầu tiên cần tính tổng. Biến sum được sử dụng để lưu trữ tổng các số đó. Ta sử dụng vòng lặp for để cộng dồn các số từ 1 đến n vào biến sum. Cuối cùng, ta in ra kết quả tổng của n số tự nhiên đầu tiên.
Thay vì sử dụng vòng lặp for thì ta có thể sử dụng vòng lặp while như sau:
#include <iostream>
using namespace std;
int main()
{
int n, i = 1, sum = 0;
cout << "Nhap so n: ";
cin >> n;
while (i <= n) {
sum += i;
i++;
}
cout << "Tong " << n << " so tu nhien dau tien la: " << sum;
return 0;
}
3. Sử dụng đệ quy trong C++
Để tính tổng n số tự nhiên đầu tiên, ta cũng có thể sử dụng hàm đệ quy. Dưới đây là một đoạn code mẫu trong C++ giúp tính tổng n số tự nhiên đầu tiên sử dụng hàm đệ quy:
#include <iostream>
using namespace std;
int sumOfFirstNNumbers(int n) {
if (n == 0) {
return 0;
} else {
return n + sumOfFirstNNumbers(n - 1);
}
}
int main() {
int n;
cout << "Nhap vao so n: ";
cin >> n;
int sum = sumOfFirstNNumbers(n);
cout << "Tong cua " << n << " so tu nhien dau tien la: " << sum << endl;
return 0;
}
Trong cách này, chúng ta sử dụng một hàm đệ quy sumOfFirstNNumbers
để tính tổng của n số tự nhiên đầu tiên. Hàm này nhận một tham số n và trả về tổng của n số đó. Trong trường hợp n = 0, hàm trả về 0 (điều kiện dừng của đệ quy). Trong trường hợp n > 0, hàm sẽ gọi đệ quy để tính tổng của (n-1) số tự nhiên đầu tiên, sau đó cộng n vào kết quả đó. Cuối cùng, chúng ta gọi hàm sumOfFirstNNumbers
trong hàm main
và hiển thị kết quả tổng lên màn hình.