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

โปรแกรม Python เช็คว่ามี K ติดต่อกันเป็นเลขฐานสองหรือไม่?


ขั้นแรก เราใช้สตริงอินพุตของผู้ใช้ที่มีการรวมกันของ 1 และ 0 จากนั้นสร้างสตริงใหม่ที่มี 1 จากนั้นตรวจสอบว่ามีจำนวน p ใด ๆ ที่ 1 ติดต่อกันอยู่หรือไม่ หากมีให้แสดง FOUND มิฉะนั้น NOTFOUND

ตัวอย่าง

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

อัลกอริทึม

Step 1: input a string with the combination of 1’s, it’s stored in the variable X and 0’s and p is the consecutive 1’s in a binary number.
Step 2: form a new string of p 1’s.
   newstring=”1”*p
Step 3: check if there is p 1’s at any position.
   If newstring in X
      Display “FOUND”
   Else
      Display “NOT FOUND”
   End if

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

# To check if there is k consecutive 1's in a binary number 
def binaryno_ones(n,p):
   # form a new string of k 1's 
   newstr = "1"*p

   # if there is k 1's at any position 
   if newstr in n:
      print ("Consecutive 1's is Found")
   else:
      print (" Consecutive 1's is Not Found")

# driver code
n =input("Enter Binary number ::")
p = int(input("Enter consecutive 1's ::"))
binaryno_ones(n, p)

ผลลัพธ์

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