Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python ตรวจสอบว่ามี 1 ติดกัน K ตัวในเลขไบนารีหรือไม่

รับสตริงอินพุตผู้ใช้ผสม 1 และ 0 สร้างสตริงใหม่ด้วย 1 แล้วตรวจสอบว่ามี 1 ติดกัน p ตัวหรือไม่ ถ้ามีแสดง FOUND ไม่อย่างนั้น NOT FOUND

ตัวอย่าง

Binary number ::1111001111
Enter consecutive 1's :3
Consecutive 1's is Found

อัลกอริทึม

ขั้นตอนที่ 1: รับสตริงผสม 1 และ 0 เก็บใน X และ p คือจำนวน 1 ติดกัน
ขั้นตอนที่ 2: สร้างสตริงใหม่จาก p ตัว 1: newstring="1"*p
ขั้นตอนที่ 3: ตรวจสอบว่ามี p ตัว 1 ติดกันหรือไม่ ถ้า newstring ใน X แสดง "FOUND" ไม่อย่างนั้น "NOT FOUND"

โค้ดตัวอย่าง

# ตรวจสอบว่ามี k consecutive 1's ในเลขไบนารี
def binaryno_ones(n, p):
    # สร้างสตริงใหม่จาก k ตัว 1
    newstr = "1" * p
    # ถ้ามี k ตัว 1 ติดกันที่ตำแหน่งไหน
    if newstr in n:
        print("Consecutive 1's is Found")
    else:
        print("Consecutive 1's is Not Found")

# โค้ดหลัก
n = input("ป้อนเลขไบนารี ::")
p = int(input("ป้อน consecutive 1's ::"))
binaryno_ones(n, p)

ผลลัพธ์

ป้อนเลขไบนารี ::1111001111
ป้อน consecutive 1's ::3
Consecutive 1's is Found