Câu 63. Điểm giao nhau giữa 2 đoạn. – Ôn tập học kì 1 NH 2022-2023 – 11A6

Câu 63: Nhập bốn số nguyên A,B,C,D (A<B, C<D). Tính xem có bao nhiêu số nguyên thuộc đọan giao [A;B] 󠆄∩ [C;D], tức là có bao nhiêu số nguyên x thỏa mãn: A ≤ x ≤ B và C ≤ x ≤ D.

INPUTOUTPUTGIẢI THÍCH
A=1; B=6 ; C=3; D=53 [1;6] ∩ [3;5] = [3;5] Có 3 số nguyên thuộc [3;5]

Hướng dẫn giải:

Ta thấy nếu

x ϵ [A;B] <–> A ≤ x ≤ B

x ϵ [C;D] <–> C ≤ x ≤ D

Khi đó: x ϵ [A;B] ∩ [C;D] <–> max [A;C] ≤ x ≤ min [B;D] lúc này max [A;C] > min [B;D] –> Không có số nào thỏa mãn max [A;C] ≤ x ≤ min [B;D]. Ngược lại thì có min [B;D] – max [A;C]

#Câu 63 - Điểm giao nhau giữa 2 đoạn.
# Đoạn thứ nhất từ A --&gt; B
A,B,C,D=map(int,input("Nhập điểm A,B,C,D:").split())
print("Ta có đoạn thứ nhất là: [",A,";",B,"]")
# Đoạn thứ hai từ C --&gt; D
print("Ta có đoạn thứ hai là: [",C,";",D,"]")
print("------------------------------------")
doan_AC=max(A,C)
doan_BD=min(B,D)
if doan_AC&gt;doan_BD:
    print("Không có điểm giao giữa 2 đoạn này")
else:
    sodiemgiao=doan_BD-doan_AC+1
    print("Số điểm giao của [{};{}] và [{};{}] là: {}".format(A,B,C,D,sodiemgiao))

Bài làm của nhóm Tiên, Lãm, Đ.Huyền, Oanh, Nhi, Trinh

a,b,c,d=map(int,input().split())
if c<=b and a<=d :
    print(min(b,d)-max(a,c)+1)
else:
    print(-1)

Bài làm của nhóm Bảo, Thủy, Trâm, T. Huyền

a,b,c,d=map(int,input('Nhap').split())
if a<b<c<d:
     print('0')
elif a<=c<=b<=d:
    print(b-c+1)
elif c<=a<=b<=d:
    print(b-a+1)
elif a<=c<=d<=b:
    print(d-c+1)
if c<d<a<b:
    print('0')
elif b<=d<=a<=c:
    print(a-d+1)

You may also like...

0 0 đánh giá
Đánh giá bài viết
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận
0
Bạn hãy viết bình luận cho nội dung này !x