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

Kiểm tra xem số K đã cho có đủ để đến cuối một mảng trong Python hay không

Giả sử chúng ta có một dãy nums và một giá trị k khác. Chúng ta phải kiểm tra xem liệu có thể đi đến cuối mảng bằng cách thực hiện các phép toán này hay không Hoạt động:Traverse nums và, nếu có bất kỳ giá trị nào không phải nguyên tố thì giảm giá trị của k đi 1. Bây giờ nếu có giá trị nào là số nguyên tố sau đó điền giá trị của k vào giá trị ban đầu của nó.

Vì vậy, nếu đầu vào giống như nums =[8, 5, 6, 7, 8], k =2, thì đầu ra sẽ là True vì nums [0] không phải là số nguyên tố, sau đó đặt k =1, sau đó nums [1 ] là số nguyên tố nên k =2, sau đó nums [2] không phải là số nguyên tố nên k =1, lại là nums [3] là số nguyên tố nên k =2 và cuối cùng nums [4] không phải là số nguyên tố và k =1 và cuối cùng chúng ta chỉ mục.

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

  • tạm thời:=k
  • đối với tôi trong phạm vi từ 0 đến kích thước của arr - 1, thực hiện
    • nếu arr [i] là số nguyên tố thì
      • k:=temp
    • nếu không,
      • k:=k - 1
    • nếu k <=0 và i
    • trả về Sai
  • trả về True
  • Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

    Mã mẫu

    def isPrime(num):
       if num > 1:
          for i in range(2, num):
             if num % i == 0:
               return False
          return True
       return False
     
    def solve(arr,k):
       temp = k
       for i in range(len(arr)):
          if isPrime(arr[i]):
             k = temp    
          else:
             k -= 1      
       
          if k <= 0 and i < (len(arr) - 1) and isPrime(arr[i + 1]) == False:
             return False
             
       return True
    
    nums = [8, 5, 6, 7, 8]
    k = 2
    print(solve(nums, k))

    Đầu vào

    [8, 5, 6, 7, 8], 2

    Đầu ra

    True