-
-
-
- Lớp 2
- Tự nhiên và xã hội
- Tiếng việt
- Toán học
- Tiếng Anh
- Đạo đức
- Âm nhạc
- Mỹ thuật
- HĐ trải nghiệm, hướng nghiệp
- Lớp 4
- Khoa học
- Tiếng việt
- Toán học
- Đạo đức
- Tiếng Anh
- Lịch sử và Địa lí
- Công nghệ
- HĐ trải nghiệm, hướng nghiệp
- GD Thể chất
- Âm nhạc
- Lớp 5
- Khoa học
- Toán học
- Tiếng việt
- Tin học
- Tiếng Anh
- Đạo đức
- Lịch sử và Địa lí
- HĐ trải nghiệm, hướng nghiệp
- Lớp 6
- Công nghệ
- Tin học
- Lịch sử và Địa lí
- GDCD
- Ngữ văn
- Toán học
- Khoa học tự nhiên
- Tiếng Anh
- Âm nhạc
- Mỹ thuật
- HĐ trải nghiệm, hướng nghiệp
- Lớp 7
- Tiếng Anh
- GDCD
- Toán học
- Công nghệ
- Tin học
- Ngữ văn
- Lịch sử và Địa lí
- Khoa học tự nhiên
- HĐ trải nghiệm, hướng nghiệp
- Âm nhạc
- Lớp 8
- Tiếng Anh
- GDCD
- Toán học
- Công nghệ
- Ngữ văn
- Khoa học tự nhiên
- Lịch sử và Địa lí
- HĐ trải nghiệm, hướng nghiệp
- GD Thể chất
- Âm nhạc
- Lớp 9
- Tiếng Anh
- GDCD
- Toán học
- Công nghệ
- Tin học
- Ngữ văn
- Khoa học tự nhiên
- HĐ trải nghiệm, hướng nghiệp
- Lịch sử và Địa lí
- Lớp 10
- Hóa học
- Tiếng Anh
- Lịch sử
- Sinh học
- Địa lí
- Vật lí
- Tin học
- Toán học
- GD kinh tế và pháp luật
- Công nghệ
- Ngữ văn
- HĐ trải nghiệm, hướng nghiệp
- GD Thể chất
- GD Quốc phòng và An ninh
- Lớp 11
- Hóa học
- Tiếng Anh
- Vật lí
- Tin học
- Toán học
- Địa lí
- Công nghệ
- Lịch sử
- Ngữ văn
- Sinh học
- GD Thể chất
- GD Quốc phòng và An ninh
- GD kinh tế và pháp luật
- HĐ trải nghiệm, hướng nghiệp
-
-
- KHÁM PHÁ
-
-
-
-
-
-
-
-
- FAVORITES
-
Viết code C++, Python, Pascal Nhập từ bàn phím
Câu trả lời này dùng AI, hãy kiểm tra lại trước khi sử dụng
```python
def is_prime(num):
if num <= 1:
return False
for i in range(2, int(num0.5) + 1):
if num % i == 0:
return False
return True
def find_beautiful_positions(arr):
n = len(arr)
beautiful_positions = []
for i in range(1, n):
left = arr[:i]
right = arr[i:]
count_left = sum(1 for x in left if is_prime(x))
count_right = sum(1 for x in right if is_prime(x))
if count_left == count_right:
beautiful_positions.append(i)
return beautiful_positions
# Nhập dữ liệu từ file
with open('CLUCKY.INP', 'r') as f:
N = int(f.readline().strip())
arr = list(map(int, f.readline().strip().split()))
# Tìm vị trí đẹp
result = find_beautiful_positions(arr)
# Ghi kết quả ra file
with open('CLUCKY.OUT', 'w') as f:
if result:
f.write(' '.join(map(str, result)))
else:
f.write('NONE')
```
Giải thích:
1. Hàm `is_prime(num)`: Đây là một hàm kiểm tra xem một số có phải là số nguyên tố hay không. Nếu số <= 1 thì không phải là số nguyên tố. Ngược lại, ta sẽ lặp từ 2 đến căn bậc hai của số để kiểm tra xem có số nào chia hết cho số đó hay không.
2. Hàm `find_beautiful_positions(arr)`: Hàm này sẽ duyệt qua từng vị trí trong mảng để kiểm tra xem có phải là vị trí đẹp hay không.
- Chiều dài mảng `n` được xác định.
- Ta lặp từ 1 đến n, tại mỗi bước, chia mảng thành hai phần: phần bên trái (0 đến i-1) và phần bên phải (i đến n-1).
- Đếm số nguyên tố trong cả hai phần và so sánh. Nếu hai đếm này bằng nhau, vị trí i được coi là vị trí đẹp.
3. Việc nhập dữ liệu được thực hiện từ file `CLUCKY.INP` và xuất kết quả ra file `CLUCKY.OUT`. Kết quả sẽ ghi ra các vị trí đẹp tìm được, nếu không có vị trí nào thì ghi "NONE".
4. Các phần tử trong tệp vào sẽ được xử lý bằng cách chuyển đổi thành số nguyên và sau đó kiểm tra từng vị trí theo điều kiện đã xác định.
Kết quả sẽ có các vị trí đáp ứng yêu cầu như được mô tả trong đề bài.
def is_prime(num):
if num <= 1:
return False
for i in range(2, int(num0.5) + 1):
if num % i == 0:
return False
return True
def find_beautiful_positions(arr):
n = len(arr)
beautiful_positions = []
for i in range(1, n):
left = arr[:i]
right = arr[i:]
count_left = sum(1 for x in left if is_prime(x))
count_right = sum(1 for x in right if is_prime(x))
if count_left == count_right:
beautiful_positions.append(i)
return beautiful_positions
# Nhập dữ liệu từ file
with open('CLUCKY.INP', 'r') as f:
N = int(f.readline().strip())
arr = list(map(int, f.readline().strip().split()))
# Tìm vị trí đẹp
result = find_beautiful_positions(arr)
# Ghi kết quả ra file
with open('CLUCKY.OUT', 'w') as f:
if result:
f.write(' '.join(map(str, result)))
else:
f.write('NONE')
```
Giải thích:
1. Hàm `is_prime(num)`: Đây là một hàm kiểm tra xem một số có phải là số nguyên tố hay không. Nếu số <= 1 thì không phải là số nguyên tố. Ngược lại, ta sẽ lặp từ 2 đến căn bậc hai của số để kiểm tra xem có số nào chia hết cho số đó hay không.
2. Hàm `find_beautiful_positions(arr)`: Hàm này sẽ duyệt qua từng vị trí trong mảng để kiểm tra xem có phải là vị trí đẹp hay không.
- Chiều dài mảng `n` được xác định.
- Ta lặp từ 1 đến n, tại mỗi bước, chia mảng thành hai phần: phần bên trái (0 đến i-1) và phần bên phải (i đến n-1).
- Đếm số nguyên tố trong cả hai phần và so sánh. Nếu hai đếm này bằng nhau, vị trí i được coi là vị trí đẹp.
3. Việc nhập dữ liệu được thực hiện từ file `CLUCKY.INP` và xuất kết quả ra file `CLUCKY.OUT`. Kết quả sẽ ghi ra các vị trí đẹp tìm được, nếu không có vị trí nào thì ghi "NONE".
4. Các phần tử trong tệp vào sẽ được xử lý bằng cách chuyển đổi thành số nguyên và sau đó kiểm tra từng vị trí theo điều kiện đã xác định.
Kết quả sẽ có các vị trí đáp ứng yêu cầu như được mô tả trong đề bài.
Đăng phản hồi
© 2025 Học Tốt Online - Chia Sẻ Tài Liệu Học Tập và Giải Bài Tập Miễn Phí Vietnamese