วิธีที่ดีที่สุดในการคำนวณปัจจัยหลักที่ใหญ่ที่สุดของจำนวนคืออะไร?
ฉันคิดว่ามีประสิทธิภาพมากที่สุดจะเป็นดังต่อไปนี้:
- ค้นหาจำนวนเฉพาะต่ำสุดที่หารได้อย่างหมดจด
- ตรวจสอบว่าผลลัพธ์ของการหารเป็นเรื่องสำคัญหรือไม่
- ถ้าไม่พบต่อไปต่ำสุด
- ไปที่ 2
ฉันคิดว่ามันง่ายกว่าที่จะคำนวณปัจจัยสำคัญเล็ก ๆ มันเกี่ยวกับใช่มั้ย ฉันควรมองหาวิธีอื่นใด
แก้ไข: ตอนนี้ฉันรู้แล้วว่าวิธีการของฉันไร้ประโยชน์หากมีมากกว่า 2 ปัจจัยหลักในการเล่นตั้งแต่ขั้นตอนที่ 2 ล้มเหลวเมื่อผลลัพธ์เป็นผลงานของสองช่วงเวลาอื่นดังนั้นจึงจำเป็นต้องมีขั้นตอนวิธีแบบเรียกซ้ำ
แก้ไขอีกครั้ง: และตอนนี้ฉันรู้แล้วว่าวิธีนี้ยังใช้งานได้เพราะตัวเลขสำคัญที่พบล่าสุดจะต้องเป็นเลขที่สูงที่สุดดังนั้นการทดสอบเพิ่มเติมเกี่ยวกับผลลัพธ์ที่ไม่ได้เป็นนายกจากขั้นตอนที่ 2 จะส่งผลให้นายกที่เล็กลง
1.
หาจำนวนใด ๆ ที่แบ่งอย่างชัดเจน (สำหรับ i = 2 ถึง int (sqr (NUM))) 2.
หารด้วยตัวเลขนั้น (num = num / i) และเกิดขึ้นอีกจนกว่าจะไม่พบสิ่งใดใน1.ช่วงเวลา3.
numเป็นปัจจัยที่ใหญ่ที่สุด