You are on page 1of 6

CÂU LỆNH RẼ NHÁNH

1. Một số lưu ý
- Nhập dữ liệu: map(ép kiểu,input().split()) để nhập đồng thời nhiều biến với
các giá trị khác nhau. Mỗi giá trị cách nhau bởi 1 dấu cách (khoảng trắng).
- In dữ liệu ra màn hình:
+ Lưu ý cách in số thực (‘%a.bf’%n)
+ In xuống dòng (end= ‘\n’)
- Trong NNLT Python có một số hàm được xây dựng sẵn mà người dùng có thể
sử dụng. Ví dụ như hàm max, min, sort, sorted, …
- Trong Python có thể gán như sau:
a,b=b,a. Câu lệnh trên tương đương như sau:
tg=a
a=b
b=tg
Tức là: hoán đổi (trao đổi giá trị của a với b mà không cần 1 biến trung
gian)
- Câu lệnh and (và)
(a>=0) and (a<=9) trong python có thể biểu diễn như sau:
0<=a<=9
2. Một số bài tập

Bài 1. TRÒ CHƠI TRÊN TRỤC SỐ Tên tệp bài làm: GAMES.PY
Trò chơi được mô tả như sau: trên trục số biểu diễn các điểm nguyên, đặt ba
quân cờ tại các vị trí nguyên A, B, C. Hai người chơi luân phiên. Mỗi khi đến
lượt, người chơi sẽ nhặt quân cờ bên ngoài và đặt vào vị trí nguyên nào đó ở
khoảng giữa hai quân cờ còn lại (không được đặt quân cờ vào vị trí đã có quân
cờ ). Trò chơi kết thúc khi ba quân cờ đứng sát cạnh nhau. Người ta muốn biết
có thể duy trì trò chơi lâu nhất là bao nhiêu lượt chơi.
Yêu cầu: Nhập vào các số nguyên a, b, c và in ra số lượt chơi nhiều nhất có thể.
Ví dụ:

INPUT OUTPUT

359 3

* Xem hình minh họa trục số biểu diễn 3 điểm A, B, C lúc ban đầu
A B C
0 3 5 9
* Hướng dẫn
- Nhập vào 3 tọa độ x,y,z
- Tìm giá trị lớn nhất và giá trị nhỏ nhất của 3 điểm
- Nếu x!=max và x!=min:
sl=max(abs(x-max),abs(x-min))-1 #abs là hàm trị tuyệt đối
- Nếu không:
+ Nếu y!=max và y!=min:
sl=max(abs(y-max),abs(y-min))-1 #abs là hàm trị tuyệt đối
+ Nếu z!=max và z!=min:
sl=max(abs(z-max),abs(z-min))-1 #abs là hàm trị tuyệt đối
- Còn lại sl=0

Bài 2. KHỐI HỘP CHỮ NHẬT Tên tệp bài làm: KHOIHCN.PY
Một viên gạch có dạng khối hộp chữ nhật với ba kích thước là a, b, c. Người ta
muốn biết: có thể đưa viên gạch đó qua lỗ hổng hình chữ nhật có kích thước x, y
hay không?
Yêu cầu: Nhập vào từ bàn phím các số nguyên dương a, b, c, x và y. In ra chuỗi
thông báo "CO", nếu có thể đưa viên gạch qua lỗ hổng; ngược lại, in ra chuỗi
thông báo "KHONG".
Ví dụ:

INPUT OUTPUT

34745 CO

54325 KHONG
34525

* Hướng dẫn
So sánh nếu 2 cạnh bất kỳ của khối hình hộp chữ nhật nhỏ hơn hoặc bằng kích
thước của hình chữ nhật thì sẽ có thể đưa viên gạch qua

BÀI 3: ỐC SÊN LEO CỘT TÊN FILE:OCSEN.PY


Có một con ốc sên muốn bò lên đỉnh của một cái cây cao V mét tính từ mặt đất.
Trong một ngày nó có thể bò được A mét lên trên, tuy nhiên mỗi đêm khi ngủ,
nó lại bị tụt xuống B mét. Nhiệm vụ của bạn là hãy viết chương trình xác định
số ngày con ốc sên cần để bò lên đến đỉnh cây.
Dữ liệu nhập:
- Là ba số nguyên A, B và V cách nhau một khoảng trắng (1 ≤ B < A ≤ 109, 1 ≤
V ≤ 109).
Dữ liệu xuất:
- Là số ngày con ốc sên cần để bò lên đến đỉnh cây.
Ví dụ
 input

215
output
4

 input

516
output
2
* Hướng dẫn
Vì điều kiện của bải ra là 1<=B<A<10 9 và 1<V<109 nên ta không cần xét các
điều kiện A=B=0 hoặc A<B và V=0
- Nếu A>=V in ra là 1
- Nếu không thì ta xét hai trường hợp
+ trường hợp 1: (V-B)%(A-B)=0 thì in ra kết quả là phần nguyên của
phép chia (V-B)//(A-B)
+ trường hợp 2: (V-B)%(A-B)!=0 thì in ra kết quả là phần nguyên của
phép chia (V-B)//(A-B)+1

Bài 4. PHÂN LOẠI Tên tệp bài làm: PHANLOAI.PY


Trong một phòng thí nghiệm tự động hóa, người ta đang nghiên cứu và chế tạo
một số loại robot. Có ba loại robot:
+ Loại 1: Có tối thiểu 3 ăng ten và tối đa 4 camera
+ Loại 2: Có tối đa 6 ăng ten và tối thiểu 2 camera
+ Loại 3: Có tối đa 2 ăng ten và tối đa 3 camera
Yêu cầu: Khi quan sát một con robot nào đó, người ta cho em biết số ăng ten và
số camera của nó. Em hãy đưa ra câu dự đoán con robot đó thuộc những loại
nào trong số ba loại nói trên?
Dữ liệu: Nhập vào hai số nguyên dương A, C lần lượt là số ăng ten và số camera
của một robot.
Kết quả: Chương trình in ra các số nguyên là loại của robot mà em dự đoán, thứ
tự in của các số này là tăng dần (loại nhỏ in trước, loại lớn in sau). Nếu không có
loại robot nào phù hợp thì chương trình cần in ra số 0.
Ví dụ:

Input Output

45 2

23 23
86 0

BÀI 5. NGÀY TIẾP THEO TÊN FILE: THEDAY.PY


Giả sử hôm này là ngày d tháng t năm n. Hỏi ngày mai là ngày mấy?
INPUT:
- Gồm 3 số d, t, n cách nhau một khoảng trắng biểu thị cho ngày, tháng, năm (1
≤ d ≤ 31, 1 ≤ t ≤ 12, 0 ≤ n ≤ 9999).
- Dữ liệu cho đảm bảo là một ngày hợp lệ (Ví dụ ngày không hợp lệ: 31 2 2014)
OUTPUT
- In ra ngày, tháng, năm của ngày tiếp theo, mỗi số cách nhau một khoảng trắng.
Không in số 0 ở đầu ngày và tháng.
- Cần chú ý năm nhuận tháng 2 có 29 ngày, năm nhuận là: (năm chia hết cho
400) hoặc (chia hết cho 4 và không chia hết cho 100)
Ví dụ

INPUT OUTPUT
1 1 2023 02 01 2023
31 12 2023 01 01 2024
29 2 2024 01 03 2024
Nếu t thuộc tháng 1, 3, 5,7,8,10,12:
Nếu d<31:
d=d+1
Nếu d==31:
Nếu t==12:
d=1
t=1
n=n+1
Nếu không:
d=1
* Làm thêm: Tìm ngày liền trước của ngày vừa nhập (ngày hôm qua)
BÀI 6. VÒNG TAY TÊN FILE: VONGTAY.PY

Người con gái miền núi rất thích đeo vòng tay, bộ vòng tay thường có 7 chiếc
dùng để đếm thời gian. Cứ sau 01 ngày họ tháo chiếc vòng ở tay này đeo qua tay
khác và sẽ di chuyển ngược lại nếu như hết 01 tuần. Người con gái hẹn gặp lại
người yêu sau n ngày. Hãy cho biết ở thời điểm đó, số lượng vòng trên mỗi tay
sẽ bằng bao nhiêu. Giả sử ban đầu cô gái đeo vòng tay bên trái.
Dữ liệu vào: là số nguyên dương n, dữ liệu vào đảm bảo 1 ≤ n ≤ 100.
Dữ liệu ra: gồm hai số nguyên ghi trên một dòng, cách nhau một khoảng
trắng, cho biết số vòng bên tay trái và số vòng bên tay phải tại ngày thứ n.
Ví dụ
 input

5
output
25

 input

12
output
52

* Hướng dẫn

Lấy n chia nguyên cho 7

- Nếu phần nguyên là chẵn:

+ Số vòng bên tay phải = n chia dư cho 7

+ Số vòng bên tay trái = 7- số vòng bên tay phải

- Nếu phần nguyên lẻ:

+ Số vòng bên tay phải = 7- n chia dư cho 7

+ Số vòng bên tay trái = phần dư

BÀI 7. CẤP SỐ CỘNG. TÊN FILE: CAPSOCONG.PY


Dãy cấp số cộng là một dãy tăng dần, trong đó số đứng sau hơn số đứng trước
một giá trị d, d được gọi là công sai.
Ví dụ: 1 4 7 10 là một dãy cấp số cộng 4 phần tử công sai là 3
2 6 10 14 18 là một dãy cấp số cộng 5 phần tử công sai là 4
3 5 7 10 không phải là dẫy cấp số cộng 4 phần tử vì 7 – 5 ≠ 10 – 7.
Trong giờ kiểm tra Toán, Tý đã tìm được đáp án của một bài toán là 4 số tạo
thành một cấp số cộng, theo yêu cầu của đề bài. Tèo ngồi bên cạnh, không chép
được bài của Tý nên tìm cách chơi xỏ Tý. Lợi dụng lúc Tý không để ý Tèo dùng
bút xóa xóa đi 4 số của Tý rồi viết lại 3 số nhưng không theo thứ tự ban đầu.
Tý xem lại bài thấy bài mình mất 1 số nên đã nhờ bạn giúp Tý khôi phục lại số
bị thiếu ban đầu.
INPUT:
Gồm 3 số nguyên có giá trị tuyệt đối nhỏ hơn 1000, cả 3 số được viết trên 1
dòng.
Input luôn được đảm bảo có đáp án.
OUTPUT:
In ra số còn lại bị thiếu trong cấp số cộng. Nếu có nhiều đáp án, hãy in ra số
lớn nhất.
Ví dụ:
INPUT OUTPUT

468 10

10 1 7 4

* Chú thích: 1 7 10 1+3=4


Test 1: có 2 kết quả là 2 và 10, nhưng đề bài yêu cầu đưa ra số lớn nhất nên kết
quả là 10.
* Hướng dẫn
- Sắp xếp 3 số theo chiều tăng dần a,b,c
- Tính
d1=b-a
d2=c-b
- Nếu d1==d2 thì d=c+d1
- Nếu d1>d2
d=b+d1
- Nếu d1<d2
d=a+d2
in kết quả d ra màn hình

BÀI 8. GIẢI PHƯƠNG TRÌNH BẬC 2 GPTB2.PY


Nhập vào lần lượt 3 hệ số a. b. c của phương trình bậc 2. Giải phương trình bậc
2 trên và in kết quả ra màn hình.

You might also like