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

ผลคูณของตัวประกอบเฉพาะของตัวเลขในโปรแกรม Python


ในบทความนี้ เราจะเรียนรู้เกี่ยวกับวิธีการแก้ไขปัญหาที่ระบุด้านล่าง -

คำชี้แจงปัญหา

ด้วยจำนวน n เราจำเป็นต้องค้นหาผลิตภัณฑ์ของปัจจัยเฉพาะที่มีอยู่ทั้งหมดและส่งคืน

ตัวอย่าง

Input: num = 11
Output: Product is 11

คำอธิบาย

ในที่นี้ จำนวนอินพุตคือ 11 โดยมีตัวประกอบเฉพาะ 1 ตัว และมันคือ 11 ดังนั้นผลคูณของมันคือ 11

วิธีที่ 1

ใช้ a for loop จาก i =2 ถึง n+1 ตรวจสอบว่า i เป็นปัจจัยของ n หรือไม่ แล้วตรวจสอบว่า i เป็นจำนวนเฉพาะหรือไม่ ถ้าใช่ ให้เก็บผลิตภัณฑ์ไว้ในตัวแปรผลิตภัณฑ์ และดำเนินการตามขั้นตอนนี้ต่อไปจนกว่า i จะกลายเป็น =n

ตัวอย่าง

def productPrimeFactors(n):
   product = 1
   for i in range(2, n+1):
      if (n % i == 0):
         isPrime = 1
         for j in range(2, int(i/2 + 1)):
            if (i % j == 0):
               isPrime = 0
               break
      if (isPrime):
         product = product * i
   return product
# main
n = 18
print (productPrimeFactors(n))

ผลลัพธ์

120

ขอบเขตของตัวแปรทั้งหมดแสดงอยู่ในภาพด้านล่าง -

ผลคูณของตัวประกอบเฉพาะของตัวเลขในโปรแกรม Python

แนวทางที่ 2

1) ในขณะที่ n หารด้วย 2 ลงตัว (คู่) ให้พิมพ์ 2 แล้วหาร n ด้วย 2

2) หลังจากขั้นตอนที่ 1 n จะต้องกลายเป็นเลขคี่ ตอนนี้เริ่มการวนซ้ำจาก i =3 จนถึงรากที่สองของ n ในขณะที่ฉันหาร n ให้พิมพ์ i แล้วหาร n ด้วย i หลังจากที่ฉันหาร n ไม่สำเร็จ ให้เพิ่ม i เป็น 2 และดำเนินการตามขั้นตอนต่อไป

3) ถ้า n เป็นจำนวนเฉพาะและมากกว่า 2 แล้ว n จะไม่กลายเป็น 1 ด้วยสองขั้นตอนข้างต้น ดังนั้นให้พิมพ์ n หากมากกว่า 2

ตัวอย่าง

import math
def productPrimeFactors(n):
   product = 1
   # prime factor 2
   if (n % 2 == 0):
      product *= 2
      while (n%2 == 0):
         n = n/2
   # n must be odd
   for i in range (3, int(math.sqrt(n)), 2):
      # While i divides n, print i and
      # divide n
      if (n % i == 0):
         product = product * i
         while (n%i == 0):
            n = n/i
   # n is a prime number greater than 2
   if (n > 2):
      product = product * n
   return product
# main()
n = 8
print (int(productPrimeFactors(n)))

ผลลัพธ์

2

ขอบเขตของตัวแปรถูกกล่าวถึงในภาพด้านล่าง -

ผลคูณของตัวประกอบเฉพาะของตัวเลขในโปรแกรม Python

บทสรุป

ในบทความนี้ เราได้เรียนรู้เกี่ยวกับผลคูณของตัวประกอบเฉพาะของจำนวนที่กำหนดโดยใช้กำลังเดรัจฉานและวิธีการที่มีประสิทธิภาพ