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

Kiểm tra xem tổng chênh lệch tuyệt đối của các chữ số liền kề có phải là Số nguyên tố hay không trong Python

Giả sử chúng ta có một số n. Chúng ta phải kiểm tra xem tổng của hiệu số tuyệt đối của các cặp chữ số liền kề có phải là số nguyên tố hay không.

Vì vậy, nếu đầu vào là n =574, thì đầu ra sẽ là True là | 5-7 | + | 7-4 | =5, đây là số nguyên tố.

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

  • num_str:=n dưới dạng chuỗi
  • tổng số:=0
  • đối với tôi trong phạm vi từ 1 đến kích thước là num_str - 1, hãy thực hiện
    • tổng:=tổng + | chữ số ở vị trí num_str [i - 1] - chữ số ở vị trí num_str [i] |
  • nếu tổng là số nguyên tố thì
    • trả về True
  • trả về Sai

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(n):
   num_str = str(n)
   total = 0
   for i in range(1, len(num_str)):
      total += abs(int(num_str[i - 1]) - int(num_str[i]))
        
   if isPrime(total):
      return True
   return False
      
n = 574
print(solve(n))

Đầu vào

574

Đầu ra

True