จำวันเก่า ๆ ที่ดีเมื่อเปิดเอกสารง่าย ๆ หรือหน้าเว็บช้าลงอย่างเจ็บปวดเพราะมันมีทรัพยากรน้อยมากที่คอมพิวเตอร์ของคุณมี? และในวันนี้การทำสิ่งเดียวกันนั้นช้าลงแม้ว่าตัวประมวลผลของคุณจะเร็วขึ้นเป็นร้อยเท่าและมีการเข้าถึงหน่วยความจำมากกว่าเดิมหลายพันเท่า
เพื่อจำลองผลกระทบของการขยายตัวในการดูเอกสารในปัจจุบันและการใช้งานที่คล้ายกันเขียนโปรแกรมที่มีปัญหาประสิทธิภาพการทำงานที่มองเห็นได้เมื่อทำงานบนเครื่องที่มีประสิทธิภาพมากขึ้น
หากต้องการมีงานร่วมกันสำหรับทุกคนให้กำหนดเป็นตัวสร้างหมายเลขเฉพาะ
- โปรแกรมจะต้องพิมพ์หมายเลขเฉพาะติดต่อกันเริ่มต้นจาก 2 แต่ละในบรรทัดใหม่และไม่มีอะไรอื่น มันควรทำอย่างนี้ตลอดไป (หรือจนกว่าหน่วยความจำจะหมด) แบบนี้:
2 3 5 7 11 13 17
ควรมีความล่าช้าระหว่างการพิมพ์แต่ละบรรทัดพอที่จะรับรู้โดยมนุษย์
ความล่าช้านี้ควรจะนานกว่านั้นเมื่อเครื่องที่โปรแกรมทำงานได้รับเร็วขึ้น ยิ่งเครื่องทำงานเร็วขึ้นเท่าใดโปรแกรมก็จะทำงานช้าลง
ฉันจะไม่ระบุมาตรฐานที่แน่นอนเนื่องจากมันอาจเป็นอัตวิสัย แต่ควรมีความแตกต่างที่มนุษย์เห็นได้ในความเร็วของเครื่องสองเครื่องที่แตกต่างกันหากมีความแตกต่างอย่างมีนัยสำคัญระหว่างประสิทธิภาพของเครื่องทั้งสอง
ความเร็วของโปรแกรมไม่จำเป็นต้องลดความซ้ำซากจำเจในเครื่องที่มีอยู่ทั้งหมดที่เคยสร้าง สิ่งนี้จะยากที่จะระบุและยิ่งยากต่อการตรวจสอบ ฉันเชื่อในความรู้สึกร่วมของผู้แข่งขันเกี่ยวกับสิ่งที่สามารถพิจารณาได้มีประสิทธิภาพแตกต่างกันอย่างมีนัยสำคัญระหว่างเครื่องและมันก็เพียงพอที่จะตอบสนองได้
ฉันจะไม่ระบุการ จำกัด เวลาบนหรือล่างที่แน่นอน แต่ควรอยู่ภายใต้ขีด จำกัด ที่สมเหตุสมผลดังนั้นจึงไม่มีวันหรือปีระหว่างการพิมพ์สองบรรทัดโปรด
ฉันไม่ต้องการให้มันทำงานทุกอย่างตั้งแต่ Eniac ถึงสมัยใหม่ แต่มันควรจะเป็นแบบทั่วไปเช่นไม่อนุญาตให้บอกว่ามันใช้งานได้กับซีพียูเฉพาะสองประเภทเท่านั้น ซึ่งมันจะทำงานช้าลงหรือเร็วขึ้น
รหัสไม่ควรพึ่งพาคอมไพเลอร์หรือรุ่นล่าม มันควรจะทำงานถ้าคอมไพเลอร์ / ล่ามรุ่นเดียวกันถูกติดตั้งบนเครื่องที่ช้าลงและเร็วขึ้นหรือแม้ว่าไบนารี / bytecode จะถูกคอมไพล์ในเครื่องเดียว
โปรดอธิบายหลักการของการใช้งานโปรแกรมของคุณ เนื่องจากเป็นการยากที่จะทำซ้ำผลลัพธ์ความถูกต้องของคำตอบอาจขึ้นอยู่กับความเป็นไปได้ของวิธีการ
แม้ว่าฉันจะอยากให้มันกลายเป็นการแข่งขันที่มีเล่ห์เหลี่ยม แต่น่าเสียดายที่เว็บไซต์นี้ไม่ใช่ "Programming Puzzles & Code Golf" อีกต่อไป แต่เพียงแค่ "Code Golf" ดังนั้นรหัสที่สั้นที่สุดชนะ