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

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


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

ดังนั้น หากอินพุตเท่ากับ n =59361 ผลลัพธ์จะเป็น True เนื่องจาก (1*3*5) หารด้วย 3 ลงตัว

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

  • digit_count :=การนับจำนวนหลัก n
  • ผลผลิต :=1
  • ในขณะที่ n> 0, ทำ
    • ถ้า digit_count เป็นเลขคู่
      • prod :=prod * ตัวเลขสุดท้ายของ n
    • n :=ผลหารของ (n / 10)
    • digit_count :=digit_count - 1
  • ถ้า prod หารด้วย k ลงตัว
    • คืนค่า True
  • คืนค่าเท็จ

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

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

from math import log10

def solve(n, k):
   digit_count = int(log10(n))+1
   prod = 1
   while n > 0 :
      if digit_count % 2 == 0 :
         prod *= n % 10
        
      n = n // 10
      digit_count -= 1
 
   if prod % k == 0:
      return True
   return False
   
n = 59361
k = 3
print(solve(n, k))

อินพุต

59361, 3

ผลลัพธ์

True