Bài tập  /  Bài đang cần trả lời

Giải bài có thưởng!

Viết chương trình đếm xem khoảng cho trước trên có bao nhiêu bộ ba số Py-ta-go, không tính các hoàn vị của chúng. Bài làm ghi lại với tên PYTAGO*** **Input**

----- Nội dung ảnh -----
**Problem B**

Đếm bộ số Pytago

Ti năm nay lên học lớp 7. Môn hình học là môn Ti thích nhất. Trong đó có bài học về định lý Py-ta-go. Ti rất thích bộ ba số Py-ta-go vì đó là ba số rất đẹp. Nó tạo ra các tam giác vuông. Ti suy nghĩ, vậy liệu dưới 100 hay dưới 100… sẽ có bao nhiêu bộ số Py-ta-go như vậy nhỉ. Và như vậy một bài toán mà Ti nghĩ đến là trong khoảng [a, b] cho trước, vĩa và b là các số nguyên dương thì có bao nhiêu bộ số Py-ta-go mà các giá trị nằm trong khoảng đó.

**Yêu cầu**

Viết chương trình đếm xem khoảng cho trước trên có bao nhiêu bộ ba số Py-ta-go, không tính các hoàn vị của chúng. Bài làm ghi lại với tên PYTAGO***

**Input**

Từ file PYTAGO.INP gồm 2 số a và b cách nhau bởi một dấu cách.

**Output**

Ghi vào file PYTAGO.OUT chỉ gồm 1 số chỉ số Py-ta-go mà các số giá trị nằm trong khoảng trên.

**Ví dụ**

```
PYTAGO.INP PYTAGO.OUT
5 11 1
```

**Giải thích**

Trong khoảng [5,11], chỉ có 1 bộ số Py-ta-go là [6:8:10]
0 Xem trả lời
Hỏi chi tiết
16
Tham khảo câu trả lời từ Trợ lý ảo Lazi
Để giải bài toán "Đếm bộ số Py-ta-go", ta cần lập trình một chương trình kiểm tra các bộ ba số nguyên \( (a, b, c) \) trong một khoảng cho trước và xác định xem chúng có thoả mãn định nghĩa của bộ số Py-ta-go hay không. Một bộ ba số được gọi là bộ số Py-ta-go nếu \( a^2 + b^2 = c^2 \) với \( a < b < c \).

Dưới đây là một chương trình mẫu để thực hiện điều này bằng Python:

```python
# Đọc dữ liệu từ file PYTAGO.INP
with open('PYTAGO.INP', 'r') as f:
data = f.read().strip().split()
L, R = int(data[0]), int(data[1])

count = 0

# Duyệt qua các bộ ba số (a, b, c)
for c in range(L, R + 1):
for a in range(L, c):
for b in range(a + 1, c):
if a**2 + b**2 == c**2:
count += 1

# Ghi kết quả vào file PYTAGO.OUT
with open('PYTAGO.OUT', 'w') as f:
f.write(str(count))
```

### Giải thích chương trình:
1. **Đọc input**: Từ file `PYTAGO.INP`, ta lấy hai số nguyên \( L \) và \( R \) cho biết khoảng cần kiểm tra.
2. **Biến đếm**: Khởi tạo biến `count` để đếm số bộ ba Py-ta-go.
3. **Vòng lặp**:
- Duyệt từng giá trị của \( c \) trong khoảng từ \( L \) đến \( R \).
- Với mỗi \( c \), duyệt qua tất cả các giá trị của \( a \) từ \( L \) đến \( c \) và \( b \) từ \( a+1 \) đến \( c \).
- Kiểm tra điều kiện \( a^2 + b^2 = c^2 \).
4. **Ghi kết quả**: Cuối cùng, ghi số lượng bộ ba Py-ta-go vào file `PYTAGO.OUT`.

### Cách sử dụng:
1. Tạo file `PYTAGO.INP` với nội dung là hai số nguyên \( L \) và \( R \) cách nhau bởi một khoảng trắng.
2. Chạy chương trình.
3. Kết quả sẽ được ghi vào file `PYTAGO.OUT`.

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường
×
Trợ lý ảo Trợ lý ảo
×
Đấu trường tri thức | Lazi Quiz Challenge +500k
Gửi câu hỏi
×