Làm thế nào để kiểm tra số chính phương trong C/C++? Hãy cùng tìm hiểu trong bài viết này. Chúng ta sẽ hướng dẫn bạn viết một hàm để xác định xem một số có phải là số chính phương không. Sau đó, chúng ta sẽ thảo luận về cách tìm các số chính phương trong một mảng sử dụng C/C++. Tuy nhiên, trước hết, hãy nói về bài toán và số chính phương để làm rõ cho những người chưa quen thuộc với khái niệm này.
- Kì lạ chuyện một phó phòng không biết bằng cấp III của mình là thật hay giả
- Risk to v hay ving? Nắm trọn kiến thức của động từ risk trong vòng 5 phút
- Khối D7 gồm môn thi nào? Ngành nào, trường nào tuyển sinh?
- Đạo Hàm Của Hàm Số Lượng Giác: Lý Thuyết, Bảng Công Thức Và Bài Tập
- Đầy đủ lý thuyết và bài tập đạo hàm mũ và logarit
Contents
Số chính phương là gì?
Số chính phương là số tự nhiên có căn bậc hai cũng là số tự nhiên. Nghĩa là số chính phương bằng bình phương của một số nguyên. Ví dụ, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100 đều là các số chính phương.
Xem thêm : Câu hỏi trắc nghiệm về ngày 30 tháng 4 và mùng 1 tháng 5
Số chính phương có thể được biểu diễn dưới dạng: n^2 = x, trong đó n là số chính phương và x là số nguyên dương.
Số chính phương có một số tính chất sau:
- Số chính phương chỉ có thể tận cùng bằng 0, 1, 4, 5, 6, 9.
- Số chính phương không có dạng 3n + 2, 4n + 2 hoặc 4n + 3 (với n thuộc tập hợp số tự nhiên N).
- Số chính phương chia cho 3 luôn có số dư là 0 hoặc 1; chia cho 4 luôn dư 0 hoặc 1; số chính phương lẻ khi chia 8 luôn dư 1.
- Số ước nguyên dương của số chính phương là một số lẻ.
- Số chính phương chia hết cho số nguyên tố p thì chia hết cho p^2.
READ MORE:
Bài toán kiểm tra số chính phương
Bài toán 1: Kiểm tra số chính phương trong C/C++
Trong bài toán này, chúng ta sẽ viết một chương trình để kiểm tra xem một số nguyên dương n có phải là số chính phương hay không. Một số chính phương là số có căn bậc hai là một số nguyên. Chúng ta sử dụng ngôn ngữ lập trình C/C++ để giải quyết bài toán này.
Cách 1: Sử dụng vòng lặp
#include
int main() {
int n;
printf("Nhập n: ");
scanf("%d", &n);
int i = 0;
while (i * i <= n) {
if (i * i == n) {
printf("%d là số chính phương!n", n);
return 0;
}
++i;
}
printf("%d không phải số chính phương!n", n);
return 0;
}
Cách 2: Sử dụng hàm sqrt()
#include
#include
int main() {
int n;
printf("Nhập n: ");
scanf("%d", &n);
int sqr = sqrt(n);
if (sqr * sqr == n) {
printf("%d là số chính phương!n", n);
} else {
printf("%d không phải số chính phương!n", n);
}
return 0;
}
Bài toán 2: Tìm số chính phương trong mảng
Xem thêm : Thử tài trí não với các bài toán tư duy logic
Trong bài toán này, chúng ta sẽ viết một chương trình để tìm và in ra các số chính phương trong một mảng số nguyên. Chúng ta cũng sử dụng ngôn ngữ C/C++ để giải quyết bài toán này.
#include
#include
using namespace std;
bool isPerfectSquare(int n) {
int sqrtN = sqrt(n);
return (sqrtN * sqrtN == n);
}
int main() {
int n;
do {
cout << "Nhập n: ";
cin >> n;
} while (n <= 0);
int a[n];
for (int i = 0; i < n; i++) {
cin >> a[i];
}
cout << "Các số chính phương:n";
for (int i = 0; i < n; i++) {
if (isPerfectSquare(a[i])) {
cout << a[i] << " ";
}
}
return 0;
}
Kết luận
Như vậy, chúng ta đã tìm hiểu về số chính phương và cách kiểm tra và tìm các số chính phương trong ngôn ngữ lập trình C/C++. Mong rằng bài viết này đã mang lại những thông tin hữu ích cho bạn.
Nguồn: https://ispacedanang.edu.vn
Danh mục: Học tập