ผมอ่านบางว่าอัลกอริทึมที่มีประสิทธิภาพมากที่สุดที่พบสามารถคำนวณปัจจัยในเวลา แต่รหัสที่ผมเขียนเป็นO ( n )หรือ อาจเป็นO ( n log n )ขึ้นอยู่กับว่าการหารและโมดูลัสรวดเร็วแค่ไหนฉันค่อนข้างแน่ใจว่าฉันเข้าใจผิดบางอย่าง แต่ฉันไม่แน่ใจว่าอยู่ที่ไหนนี่คือสิ่งที่ฉันเขียนในรูปแบบโค้ดหลอก
function factor(number) -> list
factors = new list
if number < 0
factors.append(-1)
number = -number
i = 2
while i <= number
while number % i == 0
factors.append(i)
number /= i
i++
return factors