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

ตรวจสอบว่าผลรวม Absolute Difference ของหลักติดกันเป็น Prime หรือไม่ด้วย Python

โจทย์: กำหนดเลข n ตรวจสอบว่าผลรวม |ความต่าง| ของคู่หลักติดกัน (Adjacent Digits) เป็น Prime หรือไม่

ตัวอย่าง

n = 574 → |5-7| + |7-4| = 2 + 3 = 5 (Prime) → True

อัลกอริทึม

  1. แปลง n เป็น String
  2. วน i=1 ถึง len-1 รวม abs(int(s[i-1]) - int(s[i]))
  3. ตรวจสอบว่าผลรวมเป็น Prime

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

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))

Input / Output

Input: 574
Output: True