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

ตรวจสอบว่าผลรวมของหลักในตำแหน่งคี่ของตัวเลขนั้นหารด้วย K ใน Python . ได้หรือไม่


สมมติว่าเรามีตัวเลข n และ k อีกจำนวนหนึ่ง เราต้องตรวจสอบว่าผลรวมของหลัก n ที่ตำแหน่งคี่ (จากด้านขวาไปด้านซ้าย) หารด้วย k ลงตัวหรือไม่

ดังนั้น หากอินพุตเป็น n =2416 k =5 ผลลัพธ์จะเป็น True เนื่องจากผลรวมของเลขคี่จากขวาไปซ้ายคือ 4 + 6 =10 ซึ่งหารด้วย 5 ลงตัว

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

  • ทั้งหมด :=0, ตำแหน่ง :=1
  • ในขณะที่ n> 0 ทำ
    • ถ้า pos เป็นเลขคี่
      • รวม :=รวม + (n mod 10)
    • n :=ผลหารของ (n / 10)
    • pos :=pos + 1
  • ถ้าผลรวมหารด้วย k ลงตัว
    • คืนค่า True
  • คืนค่าเท็จ

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

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

def solve(n, k):
   total = 0
   pos = 1
   while n > 0:
      if pos % 2 == 1:
         total += n % 10
      n = n // 10
      pos += 1
     
   if total % k == 0:
      return True
   return False

n = 2416
k = 5
print(solve(n, k))

อินพุต

2416, 5

ผลลัพธ์

True