Ví dụ Input 4 100 Output 12 Code bằng c++ , đảm bảo tối ưu code và không dùng vector.Cần gấp mn ơi

Ví dụ Input 4 100 Output 12 Code bằng c++ , đảm bảo tối ưu code và không dùng vector.Cần gấp mn ơi
Câu trả lời này dùng AI, hãy kiểm tra lại trước khi sử dụng
```cpp
#include

using namespace std;

int main() {
long long n, m;
cin >> n >> m;

long long count = 0;

for (long long i = 1; i * i <= n; i++) {
long long u = i * i; // Tính u
for (long long v = u + 1; v <= n; v++) {
long long v_square = v * v; // Tính v^2
if (u + v_square <= n) {
count++;
} else {
break; // Kiểm tra điều kiện dừng
}
}
}

cout << count % m << endl;
return 0;
}
```

Giải thích mã:
1. Nhập input: Nhập hai số nguyên `n` và `m`.
2. Khởi tạo biến: Sử dụng một biến `count` để đếm số cách chọn tập F/set.
3. Vòng lặp đầu: Vòng lặp từ 1 đến căn bậc hai của n để tìm giá trị của `u` (biến bình phương).
4. Vòng lặp trong: Vòng lặp từ `u + 1` đến `n` để tìm giá trị của `v` (biến không phải bình phương).
5. Kiểm tra điều kiện: Nếu tổng của `u` và bình phương của `v` nhỏ hơn hoặc bằng `n`, tăng giá trị `count`. Nếu lớn hơn, dừng vòng lặp trong.
6. In kết quả: Xuất kết quả `count` chia cho `m` để lấy phần dư.

Giải pháp này đảm bảo hiệu suất tốt cho `n` đến \(10^6\) và tránh sử dụng vector như yêu cầu.
Đăng phản hồi