กฎง่าย ๆ :
- First n primes (ไม่ใช่ primes ต่ำกว่าn ) ควรพิมพ์ไปยังเอาต์พุตมาตรฐานคั่นด้วย newlines (primes ควรสร้างขึ้นภายในโค้ด)
- primes ไม่สามารถสร้างได้โดยฟังก์ชัน inbuilt หรือผ่านทางไลบรารีเช่นการใช้ฟังก์ชัน inbuilt หรือไลบรารีเช่น prime = get_nth_prime (n), is_a_prime (ตัวเลข) หรือ factorlist = list_all_factors (number) จะไม่สร้างสรรค์มาก
การให้คะแนน - สมมติว่าเรากำหนดคะแนน = f ([จำนวนตัวอักษรในรหัส]), O ( f (n)) เป็นความซับซ้อนของอัลกอริทึมของคุณโดยที่ n คือจำนวนช่วงเวลาที่พบ ตัวอย่างเช่นหากคุณมีรหัสชาร์ล 300 ตัวที่มีความซับซ้อนO (n ^ 2) คะแนนคือ 300 ^ 2 = 90000สำหรับ 300 ตัวอักษรที่มีO (n * ln (n)) คะแนนกลายเป็น 300 * 5.7 = 1711.13 ( สมมติว่าบันทึกทั้งหมดเป็นบันทึกธรรมดาสำหรับความเรียบง่าย)
ใช้ภาษาการเขียนโปรแกรมใด ๆ ที่มีอยู่คะแนนต่ำสุดชนะ
แก้ไข:ปัญหาถูกเปลี่ยนจากการค้นหา '1000000 ช่วงแรก' เป็น 'ช่วงเวลาแรก' เนื่องจากความสับสนเกี่ยวกับสิ่งที่ 'n' ใน O (f (n)) คือnคือจำนวนช่วงเวลาที่คุณพบ (การค้นหาช่วงเวลาคือ ปัญหาที่นี่และความซับซ้อนของปัญหาขึ้นอยู่กับจำนวนของช่วงเวลาที่พบ)
หมายเหตุ:เพื่อชี้แจงความสับสนในความซับซ้อนหาก 'n' เป็นจำนวนเฉพาะที่คุณพบและ 'N' เป็นจำนวนเฉพาะที่พบความซับซ้อนในแง่ของ n คือและ N ไม่เทียบเท่านั่นคือO (f (n))! = O (f (N))เป็น, f (N)! = ค่าคงที่ * f (n) และ N! = ค่าคงที่ * n, เพราะเรารู้ว่าหน้าที่เฉพาะของ nth ไม่เชิงเส้น แต่ถึงแม้ว่าเราจะหา 'n' ความซับซ้อนเฉพาะช่วงเวลาควรจะแสดงออกได้อย่างง่ายดายในแง่ของ 'n'
ตามที่ Kibbee ชี้ให้เห็นคุณสามารถเยี่ยมชมไซต์นี้เพื่อตรวจสอบการแก้ปัญหาของคุณ ( ที่นี่เป็นรายการ Google เอกสารเก่า)
โปรดระบุสิ่งเหล่านี้ในโซลูชันของคุณ -
โปรแกรมของคุณมีความซับซ้อนเพียงใด (รวมถึงการวิเคราะห์ขั้นพื้นฐานหากไม่สำคัญ)
ความยาวอักขระของรหัส
คะแนนจากการคำนวณขั้นสุดท้าย
นี่เป็นคำถาม CodeGolf แรกของฉันดังนั้นหากมีข้อผิดพลาดหรือช่องโหว่ในกฎข้างต้นโปรดชี้พวกเขาออกมา
1[\p:i.78498
1[\p:i.1000000
แม้จะสมมติว่าอัลกอริทึมเฉพาะภายในของ J คือ O (n ^ 2) คะแนนของฉันจะยังคงอยู่เพียง 196
n
จำนวนเฉพาะหรือจำนวนสูงสุดและทุกคนไม่สนใจความจริงที่ว่าการเพิ่มจำนวนในช่วง0..n
นั้นO(logn)
และการคูณและการหารมีราคาแพงกว่า ฉันขอแนะนำให้คุณยกตัวอย่างอัลกอริทึมพร้อมกับความซับซ้อนที่ถูกต้อง
O-tilde(k^6)
ดั้งเดิมที่รู้จักกันดีที่สุดในปัจจุบันสำหรับหมายเลข k-bit คือ สิ่งนี้นำไปสู่ความหมายที่ว่าใครก็ตามที่อ้างว่าเวลาทำงานดีกว่าO-tilde(n ln n (ln(n ln n))^6)
เข้าใจผิดบางส่วนของปัญหา และคำถามเกี่ยวกับวิธีO-tilde
จัดการความซับซ้อนในการให้คะแนน