Một số có tổng các ước nhỏ hơn nó bằng chính nó được gọi là số hoàn chỉnh.
Ví dụ: 6 có các ước nhỏ hơn nó là 1, 2, 3. Tổng 1 + 2 + 3 = 6 nên 6 là số hoàn chỉnh.
Viết chương trình xét xem một số n được nhập từ bàn phím có phải là số hoàn chỉnh không. Nếu là số hoàn chỉnh thì khẳng định là số hoàn chỉnh cùng với việc chứng tỏ nó thỏa điều kiện của số hoàn chỉnh.
Ví dụ: Khi nhập n = 6 thì xuất: “6 la so hoan chinh vi 1 + 2 + 3 = 6”. Khi nhập n=10 thì xuất “ 10 khong la so hoan chinh”.
C++ ạ
em cảm ơn
Quảng cáo
2 câu trả lời 550
Đây là code C++ để kiểm tra xem một số có phải là số hoàn chỉnh hay không và in ra thông báo tương ứng:
`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++) {
if (n % i == 0) {
sum += i;
}
}
if (sum == n) {
cout << n << " la so hoan chinh vi ";
for (int i = 1; i <= n/2; i++) {
if (n % i == 0) {
cout << i;
if (i != n/i && n/i != n) {
cout << " + ";
} else if (i == n) {
cout << endl;
}
}
}
cout << n << endl;
} else {
cout << n << " khong la so hoan chinh." << endl;
}
return 0;
}
`
Giải thích:
- Đầu tiên, chương trình yêu cầu người dùng nhập vào số n từ bàn phím.
- Sau đó, sử dụng vòng lặp for để duyệt qua các ước của số n, tính tổng các ước đó vào biến sum.
- Kiểm tra xem tổng các ước có bằng số n hay không. Nếu có, in ra thông báo cho người dùng biết rằng n là số hoàn chỉnh và in ra các ước của n. Nếu không, in ra thông báo cho người dùng biết rằng n không phải số hoàn chỉnh.
Lưu ý: Trong ví dụ này, chúng ta in ra các ước của số n theo thứ tự tăng dần và sử dụng dấu "+" để phân tách giữa các ước.
Đây là code C++ để kiểm tra xem một số có phải là số hoàn chỉnh hay không và in ra thông báo tương ứng:
`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++) {
if (n % i == 0) {
sum += i;
}
}
if (sum == n) {
cout << n << " la so hoan chinh vi ";
for (int i = 1; i <= n/2; i++) {
if (n % i == 0) {
cout << i;
if (i != n/i && n/i != n) {
cout << " + ";
} else if (i == n) {
cout << endl;
}
}
}
cout << n << endl;
} else {
cout << n << " khong la so hoan chinh." << endl;
}
return 0;
}
`
Giải thích:
- Đầu tiên, chương trình yêu cầu người dùng nhập vào số n từ bàn phím.
- Sau đó, sử dụng vòng lặp for để duyệt qua các ước của số n, tính tổng các ước đó vào biến sum.
- Kiểm tra xem tổng các ước có bằng số n hay không. Nếu có, in ra thông báo cho người dùng biết rằng n là số hoàn chỉnh và in ra các ước của n. Nếu không, in ra thông báo cho người dùng biết rằng n không phải số hoàn chỉnh.
Lưu ý: Trong ví dụ này, chúng ta in ra các ước của số n theo thứ tự tăng dần và sử dụng dấu "+" để phân tách giữa các ước.
Quảng cáo
Câu hỏi hot cùng chủ đề
-
4021
-
3605
-
3130