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

โปรแกรมหลามสำหรับผลิตภัณฑ์ของตัวประกอบเฉพาะของตัวเลข


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

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

ตัวอย่างเช่น

Input: num = 11
Output: Product is 11
Explanation:
Here, the input number is 11 having only 1 prime factor and it is 11.
And hence their product is 11.

วิธีที่ 1

ใช้ a for loop จาก i =2 ถึง n+1 ตรวจสอบว่า i เป็นปัจจัยของ n หรือไม่ แล้วตรวจสอบว่า 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))

ผลลัพธ์

6

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

โปรแกรมหลามสำหรับผลิตภัณฑ์ของตัวประกอบเฉพาะของตัวเลข

แนวทางที่ 2

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

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

  • ถ้า 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

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

โปรแกรมหลามสำหรับผลิตภัณฑ์ของตัวประกอบเฉพาะของตัวเลข

บทสรุป

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