#include #include // Hàm kiểm tra số chính phương int laSoChinhPhuong(int x) { if (x < 0) return 0; // Số âm không phải số chính phương int can = (int)sqrt(x); // Lấy phần nguyên căn bậc hai return (can * can == x); } // Hàm đếm số chính phương nhỏ hơn n int demSoChinhPhuong(int n) { int dem = 0; for (int i = 1; i < n; i++) { if (laSoChinhPhuong(i)) dem++; } return dem; } int main() { int n; printf("Nhap so nguyen duong n: "); scanf("%d", &n); if (n <= 0) { printf("Vui long nhap so nguyen duong!\n"); return 0; } int ketqua = demSoChinhPhuong(n); printf("So luong so chinh phuong nho hon %d la: %d\n", n, ketqua); return 0; }