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

ตรวจสอบว่า N เป็น Strong Prime หรือไม่ด้วย Python


Strong Prime คือ จำนวนเฉพาะที่มากกว่าค่าเฉลี่ยของจำนวนเฉพาะที่อยู่ติดกันทั้งสองข้าง

เช่น Input num = 37 Output True เพราะ Prime ใกล้เคียงคือ 31 และ 41 ค่าเฉลี่ย = 36 และ 37 > 36

ขั้นตอนแก้:

  • ถ้า num ไม่ใช่ Prime หรือ num == 2 Return False
  • last = num - 1, next = num + 1
  • While next ไม่ใช่ Prime: next += 1
  • While last ไม่ใช่ Prime: last -= 1
  • avg = (last + next) / 2
  • ถ้า num > avg Return True
  • Return False

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

def isPrime(num):
    if num > 1:
        for i in range(2,num):
            if num % i == 0:
                return False
        return True
    return False

def solve(num):
    if isPrime(num) == False or num == 2:
        return False
    last = num - 1
    next = num + 1
    while isPrime(next) == False:
        next += 1
    while isPrime(last) == False:
        last -= 1
    avg = (last + next) / 2
    if num > avg:
        return True
    return False

num = 37
print(solve(num))

Input

37

Output

True