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

ตรวจสอบว่าความถี่ของแต่ละหลักน้อยกว่าหลักในPython


สมมติว่าเรามีตัวเลข n เราต้องตรวจสอบว่าการเกิดขึ้นของแต่ละหลักของ n นั้นน้อยกว่าหรือเท่ากับหลักนั้นเองหรือไม่

ดังนั้น หากอินพุตเป็น n =5162569 เอาต์พุตจะเป็น True ตามตัวเลขและความถี่ (5, 2), (1, 1), (6, 2) และ (9, 1) สำหรับทั้งหมด ความถี่จะน้อยหรือเท่ากับค่าหลัก

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • สำหรับฉันในช่วง 0 ถึง 9 ทำ
    • อุณหภูมิ :=n, cnt :=0
    • ในขณะที่อุณหภูมิไม่ใช่ศูนย์ ให้ทำ
      • ถ้า temp mod 10 เหมือนกับ i แล้ว
        • cnt :=cnt + 1
      • ถ้า cnt> i แล้ว
        • คืนค่าเท็จ
      • อุณหภูมิ :=ผลหารของ (อุณหภูมิ / 10)
  • คืนค่า True

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

def solve(n):
   for i in range(10):
      temp = n
      cnt = 0
      while temp:
         if temp % 10 == i:
            cnt += 1
         if cnt > i:
            return False
         temp //= 10
   return True
s = 5162569
print(solve(s))

อินพุต

5162569

ผลลัพธ์

True