การเขียนโปรแกรมปริศนา & รหัสกอล์ฟ

คำถาม & คำตอบสำหรับผู้ชื่นชอบการเขียนโปรแกรมปริศนา

30
สร้างการรั่วไหลของหน่วยความจำโดยไม่มีการทิ้งระเบิดใด ๆ [ปิด]
งานของคุณคือการสร้างหน่วยความจำรั่ว นี่คือโปรแกรมที่ใช้โหลดหน่วยความจำจนกระทั่งคอมพิวเตอร์หมดและต้องทำการสลับบางอย่างเพื่อบันทึกตัวเองไม่ให้หมด วิธีเดียวที่หน่วยความจำสามารถปล่อยออกมาได้ก็คือการฆ่าโปรแกรมในตัวจัดการงานหรือการใช้บรรทัดคำสั่งฆ่าเช่นtaskkill /im yourprogram /f(ใน Windows) หรือแม้กระทั่งการรีสตาร์ทคอมพิวเตอร์ การปิดแอพเพียงอย่างเดียวไม่ควรป้องกันแอพนี้ต่อไปยังหน่วยความจำหมู กฎ: ห้ามทำการทิ้งระเบิดทุกประเภท นั่นหมายความว่าห้ามใช้Bash line :(){ :|:&};:! แอปพลิเคชันต้องเป็นแบบเธรดเดียวเท่านั้น นี่หมายถึงกฎส้อมระเบิด โปรแกรมต้องไม่เรียกใช้โปรแกรมอื่น หมายความว่าคุณไม่สามารถทำอะไรrun(memoryfiller.exe)ได้ ข้อยกเว้นเพียงอย่างเดียวคือโปรแกรมที่มาพร้อมกับระบบปฏิบัติการหรือภาษาของคุณซึ่งไม่ได้ออกแบบมาเพื่อใช้หน่วยความจำ (เช่นมีวัตถุประสงค์อื่น) ซึ่งหมายความว่าสิ่งที่ชอบcatและln -sได้รับอนุญาต คุณสามารถใช้หน่วยความจำได้มากเท่าที่คุณต้องการ ยิ่งมากยิ่งดี ต้องอธิบายรหัสอย่างครบถ้วน โชคดี. นี่คือการประกวดความนิยมดังนั้นรหัสที่มีคะแนนโหวตมากที่สุดหลังจาก 10 วันนับจากวันที่ถามจะเป็นผู้ชนะ!

30
ส่งออกคะแนนของคุณ!
ท้าทาย: แนวคิดนั้นง่ายพอ: เขียนโปรแกรมเต็มรูปแบบเพื่อให้คะแนนคะแนนกอล์ฟของตัวเอง! bytesเอาท์พุทควรจะนับไบต์ของโปรแกรมของคุณและต่อท้าย แต่รอ ..... มีข้อ จำกัด หนึ่งข้อ: ซอร์สโค้ดของคุณไม่สามารถรวมตัวเลขใด ๆ จากการนับไบต์ของคุณ ดังนั้นถ้าคะแนนของคุณเป็น186 bytesโปรแกรมของคุณไม่สามารถมีตัวอักษร1, 6หรือ8 ตัวอย่างผลลัพธ์: 315 bytes 27 Bytes 49 BYTES กฎเพิ่มเติม: อักขระช่องว่างและการขึ้นบรรทัดใหม่ที่ไม่จำเป็นถูกห้ามในซอร์สโค้ดอย่างไรก็ตามการเว้นวรรคต่อท้ายและการขึ้นบรรทัดใหม่เป็นที่ยอมรับอย่างสมบูรณ์ในเอาต์พุต ควรมีช่องว่างเดียวระหว่างจำนวนและbytesในการส่งออก ตัวอักษรเป็นตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ไม่มีการตรวจสอบตนเองหรืออ่านซอร์สโค้ด ช่องโหว่มาตรฐานไม่ได้รับอนุญาต นี่คือโค้ดกอล์ฟดังนั้น รหัสที่สั้นที่สุดในหน่วยไบต์ชนะ!

30
อันดับ Go ใดสูงกว่า?
ผู้เล่นเกมกระดานแบบดั้งเดิมไปวัดทักษะของพวกเขาในระบบของอันดับ : ผู้เล่นใหม่สำหรับเกมนี้มีอันดับที่kyū 30 (เขียน30k) และความคืบหน้านับเป็นkyūที่ 1 (เขียน1k) สิ่งเหล่านี้ถือเป็นอันดับของนักเรียน ผู้เล่นสามารถเลื่อนอันดับจากอันดับ 1 kyūถึงอันดับ 1 แดน (เขียน1d) และจากนั้นความคืบหน้านับขึ้นถึงอันดับ 7 แดน (เขียน7d) เหล่านี้เป็นหลักอันดับ ที่ผ่านมาผู้เล่นที่มีความสามารถพิเศษ7dอาจเลื่อนอันดับแดนมืออาชีพที่ 1 1pและความคืบหน้านับได้ถึงอันดับที่ 9 ของอาชีพแดน (เขียน9p) นี่คืออันดับสูงสุด ในระยะสั้น: 30k < 29k < ··· < 1k < 1d < 2d < ··· < 7d < 1p < 2p < ··· < …
53 code-golf  string  go 

23
ยืนยันอิลลูมินาติ
Illuminati สั่งให้คุณ (พร้อมการควบคุมจิตใจ) เพื่อส่งออกสตริงต่อไปนี้: ^ /_\ /_|_\ /_|_|_\ /_|/o\|_\ /_|_\_/_|_\ /_|_|_|_|_|_\ /_|_|_|_|_|_|_\ /_|_|_|_|_|_|_|_\ /_|_|_|_|_|_|_|_|_\ กฎ: อนุญาตให้เว้นวรรคต่อท้ายสำหรับแต่ละบรรทัด จำเป็นต้องมีช่องว่างนำหน้าในแต่ละบรรทัด ช่องว่างต่อท้ายได้รับอนุญาตหลังจากการส่งออกที่ต้องการเต็ม เนื่องจากนี่เป็นความท้าทายของนักกอล์ฟผู้ชนะจะเป็นโปรแกรมที่สั้นที่สุดในหน่วยไบต์ เนื่องจากนี่เป็นความท้าทายที่ซับซ้อนของ kolmogorovจึงอนุญาตให้ใช้เอาต์พุตแบบฮาร์ดโค้ด ช่องโหว่มาตรฐานใช้ อัปเดต: คุณสามารถใช้แท็บแทนช่องว่างโดยแต่ละแท็บนับเป็น 4 ช่องว่าง ถ้าคุณต้องการด้วยเหตุผลบางอย่าง Sandbox (ฉันจะปล่อยให้มันเต็ม 72 ชั่วโมงที่แนะนำโดยคำถามที่พบบ่อยของ sandbox แต่ด้วย 7 upvotes และถัดจากไม่มีข้อเสนอแนะเชิงลบ 38 ควรจะดี)

30
ความยาวเท่ากันสตริงที่แตกต่างกัน
ท้าทาย ได้รับไม่ว่างเปล่าสตริงSของความยาวLประกอบด้วยทั้งตัวอักษร ASCII ที่พิมพ์ออกอีกสตริงหนึ่งของความยาวLที่ประกอบด้วยทั้งหมดของตัวอักษรที่พิมพ์ ASCII แต่ไม่เท่ากับS สำหรับจุดประสงค์ของการท้าทายนี้ ASCII ที่พิมพ์ได้คือหนึ่งระหว่าง U + 0020 และ U + 007E นั่นคือจาก (ช่องว่าง) ถึง~(tilde) บรรทัดใหม่และแท็บจะไม่รวม ตัวอย่างเช่นที่กำหนด"abcde"เอาท์พุทที่ถูกต้องบางอย่างอาจเป็น: "11111" "abcdf" "edcba" แต่สิ่งเหล่านี้จะไม่ถูกต้อง: "abcde" "bcde" "abcde0" กรณีทดสอบ "asdf" "1111" " " "~~~~~" "abcba" "1" " " "~" " ~" "~ " " 0" "!@#$%^&*()ABCDEFGhijklmnop1234567890" " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~" กฎระเบียบ คุณอาจถือว่าข้อมูลประกอบด้วยตัวอักษร …
53 code-golf  string 

26
ถอดรหัสสัญญาณตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ - สตริงที่ไวต่อแสง
เป้าหมาย นี่เป็นความท้าทายที่เรียบง่าย เป้าหมายของคุณคือการถอดรหัสสัญญาณสตริงด้วยการสลับตัวอักษรแต่ละตัวด้วยตัวอักษรถัดไปในกรณีเดียวกันโดยไม่เปลี่ยนแปลงตัวอักษรที่ไม่ใช่ตัวอักษร คำอธิบายทีละขั้นตอน Eตัวอักษรตัวแรกเป็น เรามองหาตัวอักษรถัดไปในกรณีที่บน: Cมันเป็น CdoE!เราสลับตัวอักษรเหล่านี้ซึ่งนำไปสู่ เราเลื่อนไปยังตัวอักษรถัดไป: dนี่คือ เรามองหาตัวอักษรถัดไปในกรณีที่ต่ำกว่า: oมันเป็น CodE!เราสลับตัวอักษรเหล่านี้ซึ่งนำไปสู่ เราก้าวไปสู่ตัวละครตัวต่อไป: นี่คือสิ่งdที่เราเพิ่งย้ายมาที่นี่ เราไม่สนใจเพราะมีการดำเนินการแล้ว เราก้าวไปสู่ตัวละครตัวต่อไป: นี่คือสิ่งEที่ถูกย้ายมาที่นี่ในขั้นตอนที่ 1 เราไม่สนใจเพราะมีการดำเนินการแล้ว เราเลื่อนไปยังตัวอักษรถัดไป: !นี่คือ เราไม่สนใจมันเพราะมันไม่ใช่ตัวอักษร กฎระเบียบ คุณสามารถสันนิษฐานได้ว่าสายป้อนข้อมูลนั้นทำจากอักขระ ASCII ที่พิมพ์ได้เท่านั้นในช่วง 32 - 126 คุณสามารถเขียนโปรแกรมเต็มรูปแบบหรือฟังก์ชั่นที่พิมพ์หรือส่งคืนผลลัพธ์ หากสตริงป้อนเข้ามีจำนวนตัวอักษรคี่ตัวอักษรสุดท้ายที่เหลือจะไม่สามารถสลับกับอีกหนึ่งตัวอักษรและควรอยู่ในสถานที่ไม่ว่าในกรณีใด ตรรกะเดียวกันนี้ใช้ถ้าสตริงมีจำนวนตัวอักษรคู่ แต่จำนวนตัวอักษรตัวพิมพ์ใหญ่และเลขคี่ของตัวอักษรตัวเล็ก นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม กรณีทดสอบ Input : lLEhW OroLd! Output: hELlO WorLd! Input : rpGOZmaimgn uplRzse naC DEoO …
53 code-golf  string 

30
ความชื่นชมจากผู้ใช้ # 1: เดนนิส♦
ฉันมีความคิดที่เกิดขึ้นเองในการสร้างชุดของความท้าทายของผู้ใช้ที่ได้ช่วยเหลือและดำเนินการต่อเพื่อช่วยให้ชุมชน PPCG เป็นสถานที่ที่สนุกสนานสำหรับทุกคนหรืออาจเป็นเพียงสำหรับฉันโดยเฉพาะ : P หากคุณแปลงชื่อของเดนนิสให้เป็นอาเรย์ของ1s และ0s ที่แต่ละตัวอักษรเป็น1และสระแต่ละ0ตัวอาเรย์คือ[1, 0, 1, 1, 0, 1]ซึ่งมีความสมมาตร ดังนั้นความท้าทายของคุณคือการกำหนดชื่ออื่นเช่นนี้ ท้าทาย รับสตริง ASCII ลบอักขระทั้งหมดที่ไม่ใช่ตัวอักษรและพิจารณาว่าการกำหนดค่าของสระและพยัญชนะมีความสมมาตรหรือไม่ yไม่ใช่เสียงสระ โปรดทราบว่าโปรแกรมของคุณไม่จำเป็นต้องเป็นสตริงประเภทนี้ กรณีทดสอบ Dennis -> truthy Martin -> truthy Martin Ender -> truthy Alex -> falsy Alex A. -> truthy Doorknob -> falsy Mego -> falsy การดำเนินการอ้างอิง รหัส Python 3 นี้จะให้ผลลัพธ์ที่ถูกต้องในกรณีทดสอบ มันไม่ได้เลวร้ายอย่างที่ฉันสามารถทำได้โดยไม่ต้องไร้สาระ …

30
การแกงตามความยาวโดยพลการ
เขียนฟังก์ชันfที่ใช้จำนวนเต็มบวกและส่งคืนฟังก์ชัน fฟังก์ชั่นใหม่กลับควรจะเหมือนกับ อย่างไรก็ตามเมื่อ "การยกเลิกการโทร" เกิดขึ้นfควรส่งคืนผลรวมของจำนวนเต็มทั้งหมดที่ส่งผ่านแทน ตัวอย่างเช่นg=f(4)(ถ้าfเป็นฟังก์ชันแรก) ควรตั้งgเป็นฟังก์ชั่นอื่น h=g(3)จะทำเช่นเดียวกัน อย่างไรก็ตามเมื่อคุณโทรhโดยไม่มีอาร์กิวเมนต์ (ดูรายละเอียดด้านล่าง) มันควรจะส่งออก 7 เนื่องจากเป็นผลรวมของอาร์กิวเมนต์ของฟังก์ชันก่อนหน้า ใส่อีกวิธีหนึ่ง, f(3)(4)() == 7. f(3,4)()ไม่ทราบเรื่องนี้ไม่ได้เช่นเดียวกับ "การยุติการโทร" เป็นหนึ่งในตัวเลือกต่อไปนี้ (ตัวเลือกของคุณ): เรียกอาร์กิวเมนต์ w / o null เป็นอาร์กิวเมนต์ ค่าที่ไม่เป็นบวกใด ๆ จำนวนการเรียกใช้ฟังก์ชันตามอำเภอใจควรได้รับการสนับสนุนไม่มีข้อ จำกัด ที่กำหนดไว้ล่วงหน้า รับประกันได้ว่ายอดรวมจะไม่มากกว่า 1'000 เราสามารถสันนิษฐานได้ว่ามีการโทรอย่างน้อยหนึ่งครั้งก่อนที่จะ "ยกเลิกการโทร" รหัสของคุณไม่ควรใช้ตัวแปรแบบคงที่ต่อโปรแกรมดังนั้นจึงควรเป็นไปได้ที่จะเรียกใช้การทดสอบหลายครั้งในรันไทม์เดียวกันและสังเกตพฤติกรรมที่เหมือนกันทุกประการ ตัวอย่าง: f(1)() == 1 f(4)(2)(7)() == 13 f(4)(2)(7)(5)(2)() == 20

4
การตรวจสอบ Nether Portal
วิดีโอเกมMinecraftนั้นเกี่ยวกับการวางและลบบล็อกประเภทต่าง ๆ ในโครงร่างจำนวนเต็ม 3 มิติที่ประกอบขึ้นเป็นโลกเสมือนจริง จุดขัดแตะแต่ละจุดสามารถมีหนึ่งบล็อกแน่นอนหรือว่างเปล่า ( บล็อก " อากาศ " อย่างเป็นทางการ) ในการท้าทายนี้เราจะเกี่ยวข้องกับระนาบ 2D แนวดิ่งเดียวของโลก 3 มิติและบล็อกประเภทหนึ่ง: ออบซิเดียน เมื่อ obsidian สร้างโครงร่างของสี่เหลี่ยมผืนผ้าว่างในระนาบแนวตั้งพอร์ทัล netherสามารถสร้างขึ้นได้ สี่เหลี่ยมผืนผ้าที่ว่างเปล่าอาจมีขนาดใดก็ได้ตั้งแต่ 2 หน่วยกว้าง 3 หน่วยสูงถึง 22 หน่วยกว้าง 22 สูง มุมของรูปสี่เหลี่ยมผืนผ้าไม่จำเป็นต้องล้อมรอบด้วยรัคเพียงด้านข้าง ตัวอย่างเช่นสมมติว่าXเป็น obsidian และ.ว่างเปล่า: (ตัวเลขเหล่านี้มีวัตถุประสงค์เพื่อระบุตัวตนและยังว่างเปล่า) ................................... ..XXXX....XXXX....XXXXXXXXX........ ..X..X...X....X..X.........X..XXXX. ..X.1X...X.2..X..X...3...X.X..X.... ..X..X...X....XXXX.........X..X.6X. ..XXXX....XXXX...XXXXXXXXXXX..X..X. .............X.4.X....X.5.X...XXXX. .............X...X....X...X........ ..............XXX......XXX......... ................................... ตารางนี้มี 3 พอร์ทัลที่ถูกต้อง: พอร์ทัล …
53 code-golf 

30
คุณช่วยทำให้ฉันเป็นรูปหกเหลี่ยมได้ไหม
วันนี้เราจะสร้างรูปหกเหลี่ยม ASCII คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นที่ใช้จำนวนเต็มบวกnและส่งออกกริดหกเหลี่ยมที่มีขนาดnประกอบด้วยเครื่องหมายดอกจัน ตัวอย่างเช่นรูปหกเหลี่ยมของขนาด 2 มีลักษณะดังนี้: * * * * * * * ในขณะที่รูปหกเหลี่ยมของขนาด 3 มีลักษณะดังนี้: * * * * * * * * * * * * * * * * * * * คุณสามารถใช้วิธีการอินพุตและเอาต์พุตเริ่มต้นตัวอย่างเช่น STDIO / STDOUT อาร์กิวเมนต์ของฟังก์ชันและค่าส่งคืนหรืออ่าน / เขียนไฟล์ คุณอาจสมมติว่าอินพุตนั้นถูกต้องเสมอดังนั้นหากไม่ใช่จำนวนเต็มบวกโปรแกรมของคุณอาจทำทุกอย่างที่คุณต้องการ คุณไม่แต่มีการจัดการกรณีพิเศษของหกเหลี่ยมขนาด 1 ซึ่งเกิดขึ้นเป็นเครื่องหมายดอกจันเดียว: * ช่องว่างนำหน้าและต่อท้ายได้รับอนุญาตตราบใดที่เอาต์พุตเหมือนกัน ตัวอย่าง: 1: …

30
ฉันหนาวเกินไปเปลี่ยนอุณหภูมิ
นี่คือการแข่งขันกอล์ฟครั้งแรกของฉัน สิ่งที่คุณต้องทำ สร้างฉันด้วยจำนวนไบต์ที่สั้นที่สุดที่เป็นไปได้ระบบควบคุมระยะไกล AC ของฉัน ห้องของฉันเย็นเกินไปแล้วและฉันหายไปจากระยะไกล ตอนนี้ฉันไม่ต้องการให้คุณสร้างมันขึ้นมาจริงๆหรืออะไรก็ตามเพียงแค่เล่นกอล์ฟนี้: การเพิ่มขึ้นของอุณหภูมิอย่างช้าๆเริ่มต้นที่ 40 องศาและสิ้นสุดที่ 72 ทุกเวลาที่เพิ่มขึ้นจะต้องเป็น 500 มิลลิวินาทีต่อการเพิ่มขึ้นเสมอ สามารถรออีก 500 มิลลิวินาทีในตอนท้าย ฉันต้องการที่จะหยุดอย่างไรก็ตาม การเพิ่มขึ้นของตัวเองจะต้องเพิ่มขึ้นสองเท่าในแต่ละครั้งเช่นระยะไกลของฉัน คุณไม่ควรล้างหน้าจอ คุณควรมีการขึ้นบรรทัดใหม่ จะเกิดอะไรขึ้น เอาท์พุทตัวอย่าง (ไม่ควรเอาท์พุททุกอย่างในวงเล็บ) 40 (wait 500 millis) 42 (wait 500 millis) 44 (..repeat until 72..) 72 (stop or wait 500ms) โปรดทราบว่า นี่เป็นสนามกอล์ฟแห่งแรกของฉันดังนั้นฉันจึงต้องขออภัยถ้าสนามกอล์ฟนี้ยากเกินไป :( ขอให้โชคดีนักกอล์ฟ!

19
ปรับปรุงเครื่องมือสร้างหมายเลขสุ่มฮาร์ดแวร์
งานของคุณคือสร้างตัวสร้างหมายเลขสุ่มฮาร์ดแวร์กับฮาร์ดแวร์ใด ๆ ก็ตามที่คุณมีอยู่ ท้าทาย เขียนโปรแกรมด้วยคุณสมบัติต่อไปนี้: มันพิมพ์อย่างใดอย่างหนึ่ง0หรือ1(และไม่มีอะไรอื่น) เอาท์พุทขึ้นอยู่กับกระบวนการทางกายภาพและไม่เพียง แต่สถานะภายในของคอมพิวเตอร์ ไม่มีความสัมพันธ์ระหว่างเอาต์พุตของการรันที่ตามมา (แยกจากกันหนึ่งนาที) ผลลัพธ์ไม่สามารถคาดการณ์ได้ด้วยความพยายามที่สมจริง ความน่าจะเป็นของเอาต์พุต0อยู่ระหว่าง 0.2 ถึง 0.8 มันทำงานในเวลาน้อยกว่าหนึ่งนาทีด้วยความน่าจะเป็นที่สูงพอสมควร คุณต้องอธิบายสาเหตุที่โปรแกรมของคุณมีคุณสมบัติเหล่านี้หากไม่ชัดเจน คำชี้แจงและข้อ จำกัด ต่อไปนี้อาจดูเหมือนข้อ จำกัด มากมายสำหรับการประกวดความนิยม แต่ในท้ายที่สุดมันทั้งหมดเพื่อให้แน่ใจว่าโปรแกรมยังคงอยู่ภายในจิตวิญญาณของคำถามค่อนข้างทำงานและเพื่อหลีกเลี่ยงการแก้ปัญหาที่เป็นที่นิยมเนื่องจากเป็น overkill ทั้งหมด แต่เป็นที่สุด ค่อนข้างน่าเบื่อ เวลาระบบไม่นับเป็นกระบวนการทางกายภาพ คุณสามารถใช้ฮาร์ดแวร์ระดับผู้บริโภคที่คุณต้องการตั้งแต่ไดรฟ์ฟล็อปปี้ดิสก์ขนาด 8 นิ้วไปจนถึงตัวปล่อยจรวด USBไปยังหูฟัง - เว้นแต่ว่าจะมีไว้สำหรับการสร้างหมายเลขสุ่ม ชิ้นส่วนของฮาร์ดแวร์เป็นเกรดสำหรับผู้บริโภคหากเป็นผลิตภัณฑ์ที่ผลิตเป็นจำนวนมากและมีค่าใช้จ่ายน้อยกว่า 1,000 $ / € / £ดังนั้นคุณจึงไม่สามารถใช้กล้องโทรทรรศน์วิทยุ CERN, MRIs หรือเครื่องตรวจจับอนุภาคในตัว คุณสามารถตั้งสมมติฐานพื้นฐานที่สุดได้เฉพาะกับสถานะและการจัดแนวของฮาร์ดแวร์เช่นการเปิดสวิตช์ (หากมีสวิตช์เปิดปิด) และติดตั้งและใช้งานได้อย่างเหมาะสม ตัวอย่างเช่นคุณสามารถสมมติให้ไดรฟ์ซีดีมีความสามารถในการอ่านดิสก์โดยทั่วไปและไม่ให้ติดขัด แต่คุณไม่สามารถสันนิษฐานได้ว่าจะเปิดหรือปิดหรือมีดิสก์อยู่ ในตัวอย่างอื่นคุณไม่สามารถถือว่าฮาร์ดแวร์สองชิ้นถูกจัดตำแหน่งเพื่อให้มีการโต้ตอบพิเศษ …

18
โปรแกรมที่เพิ่มจำนวนธรรมชาติทั้งหมดและให้ผลตอบแทน -1/12 [ปิด]
ในขณะที่คุณอาจจะรู้ว่ามีความสนุกสนานความเป็นจริงทางคณิตศาสตร์ที่ถ้าคุณเพิ่มทั้งหมดจำนวนธรรมชาติคุณท้ายด้วย ... -1/12 (ดูวิกิพีเดียที่นี่) แน่นอนว่านี่เป็นผลลัพธ์ที่แปลกมากและไม่สามารถรับได้โดยการเพิ่มหมายเลขหนึ่งตามด้วยหมายเลขอื่น แต่มีเทคนิคทางคณิตศาสตร์พิเศษบางอย่าง อย่างไรก็ตามงานของคุณคือการเขียนโปรแกรมซึ่งดูเหมือนว่ามันจะพยายามเพิ่มจำนวนธรรมชาติทั้งหมด แต่เมื่อคุณเรียกใช้มันจะส่งกลับ -1/12 ใน pseudocode อาจมีลักษณะเช่นนี้: result = 0; counter = 1; while(true) { result += counter; counter ++; } println(result); คุณสามารถทำสิ่งนี้ได้ทุกอย่างที่ต้องการ - คุณสามารถใช้ประโยชน์จากบัฟเฟอร์ล้นบางส่วนเล่นโดยมีข้อผิดพลาดเกิดขึ้นในขณะที่ตัวแปรบางตัวใหญ่เกินไปหรือซ่อนสิ่งสำคัญไว้ในโค้ดด้วยวิธีที่ชาญฉลาด เงื่อนไขเพียงอย่างเดียวคือรหัสนั้นในตอนแรกควรดูราวกับว่ามันพยายามที่จะเพิ่มจำนวนธรรมชาติทั้งหมดและเมื่อรันมันจะส่งกลับ -1-12 (ในรูปแบบใด ๆ มันอาจจะเป็นทศนิยม, ไบนารี, ข้อความ, ASCII ศิลปะสิ่งที่) แน่นอนว่ารหัสสามารถมีได้มากกว่าที่แสดงด้านบน แต่ควรชัดเจนพอที่จะหลอกผู้อ่าน นี่คือการประกวดความนิยม - โหวตไอเดียที่ฉลาดที่สุด!

9
สร้างโคลนเกมที่ง่าย 2048
2048 เป็นเกมที่สนุกและน่าติดตามซึ่งเป้าหมายคือการสร้างกระเบื้องที่มี 2048 นี่คือคำอธิบายสั้น ๆ ของเกม: กดปุ่มลูกศรจะเลื่อนบล็อกทั้งหมดในเวทีในทิศทางนั้น ตัวอย่างเช่นถ้าxหมายถึงบล็อกและคุณกดลูกศรขึ้นในกรณีนี้: ...x .x.. ..x. xx.. จากนั้นคณะกรรมการก็จะกลายเป็น xxxx .x.. .... .... 2นอกจากนี้บล็อกที่มีเลขเริ่มต้นที่ หากมีการย้ายบล็อกที่มีหมายเลขเดียวกันสองบล็อกเข้าด้วยกันพวกเขาจะรวมเข้าไปในหมายเลขถัดไป ตัวอย่างเช่นการกด "up" ในบอร์ดนี้: .2.. ..22 .2.. .... จะสร้างสิ่งนี้: .422 .... .... .... จากนั้นหลังจากกดปุ่ม "ถูกต้อง" มันจะกลายเป็น..44ดังนั้นการกดขวาอีกครั้งจะสร้างบล็อก "8" และอื่น ๆ แต่ละเทิร์นบล็อก "2" ใหม่จะถูกสร้างขึ้นบนจัตุรัสเปิดแบบสุ่ม (จริงๆแล้วมันไม่ได้เป็น "2" เสมอไปแต่เพื่อความเรียบง่ายลองเก็บมันไว้) ถ้าไม่มีการเคลื่อนไหวที่เป็นไปได้ (เช่นกระดานเต็มและคุณไม่สามารถผสานอะไรได้) เกมจะหายไปและถ้า บล็อก 2048 ถูกสร้างขึ้นคุณชนะ! ความท้าทายของคุณคือสร้างเกมนี้ขึ้นใหม่! …

30
ทดสอบตัวเลขเพื่อหลงตัวเอง
จำนวนหลงตัวเองเป็นจำนวนซึ่งเป็นผลรวมของตัวเลขของตัวเองในแต่ละยกกำลังจำนวนของตัวเลขที่ ตัวอย่างเช่นใช้ 153 (3 หลัก): 1 3 + 5 3 + 3 3 = 1 + 125 + 27 = 153 1634: 1 4 + 6 4 + 3 4 + 4 4 = 1 + 1296 + 81 + 256 = 1634 ความท้าทาย: รหัสของคุณจะต้องป้อนข้อมูลจากผู้ใช้และส่งออกจริงหรือเท็จขึ้นอยู่กับว่าหมายเลขที่กำหนดเป็นจำนวนหลงตัวเอง การตรวจสอบข้อผิดพลาดสำหรับสตริงข้อความหรืออินพุตอื่นไม่ถูกต้อง 1 หรือ 0 สำหรับเอาต์พุตเป็นที่ยอมรับ …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.