Computer >> Máy Tính >  >> Lập trình >> Python

Chương trình tạo bộ chuyển đổi bóng đèn bằng chuỗi nhị phân sử dụng Python

Giả sử chúng ta có n bóng đèn trong một căn phòng, các bóng đèn này được đánh số từ 0 đến n-1. Chúng ta phải sắp xếp chúng thành một hàng từ trái sang phải. Ban đầu, tất cả các bóng đèn đều tắt (trạng thái 0). Chúng ta phải lấy cấu hình được đại diện bởi mảng đích đã cho 't' trong đó t [i] là '1' nếu bóng đèn thứ i đang bật và "0" nếu bóng đèn thứ i tắt. Chúng tôi cũng có một công tắc để lật trạng thái của bóng đèn. Và thao tác lật được định nghĩa như sau -

  • Chọn bất kỳ chỉ mục bóng đèn nào i.

  • Lật từng bóng đèn từ chỉ số i đến chỉ số n - 1.

Chúng tôi phải tìm số lần lật tối thiểu cần thiết để tạo thành mục tiêu.

Vì vậy, nếu đầu vào là t ="0101", thì đầu ra sẽ là 3, nếu chúng ta bắt đầu từ bóng đèn thứ hai, thì cấu hình tiếp theo sẽ là "0111", sau đó từ thứ ba, nó sẽ là "0100", sau đó lật cuối cùng. bóng đèn để đặt nó thành "0101"

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • đếm:=0

  • x:='0'

  • cho mỗi tôi trong t, hãy làm

    • nếu tôi không giống với x, thì

      • count:=count + 1

      • x:=i

  • số lần trả lại

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

 def giải quyết (t):count =0 x ='0' for i in t:if i! =x:count + =1 x =i return countt ="0101" print (giải (t))  

Đầu vào

 "0101" 

Đầu ra

 3