คำถามติดแท็ก restricted-source

กำหนดข้อ จำกัด ของซอร์สโค้ดที่ใช้ในการแก้ปัญหาความท้าทายตัวอย่างเช่นไม่มีตัวเลขในซอร์สโค้ด

8
คำนวณสแควร์รูทเท่านั้นโดยใช้ ++
งานของคุณคือการคำนวณสแควร์รูทของจำนวนเต็มบวกโดยไม่ต้องใช้ตัวดำเนินการทางคณิตศาสตร์ใด ๆ เพื่อเปลี่ยนจำนวนเช่น: การตั้งค่าตัวแปร (เช่น squareRoot = 5) การเพิ่ม (A + B) การลบ (AB) การคูณ (A * B) ส่วน (A / B) สแควร์, ลูกบาศก์, ที่สี่, ฯลฯ ราก เลขยกกำลัง ตัวดำเนินการเปรียบเทียบ (เช่น <,>, ==, ฯลฯ ) ไม่ถือเป็น "ตัวดำเนินการทางคณิตศาสตร์" สำหรับวัตถุประสงค์ของคำถามนี้และได้รับอนุญาตตราบเท่าที่พวกเขาไม่ได้เปลี่ยนค่าของตัวแปร โอเปอเรเตอร์เดียวที่คุณสามารถใช้ได้คือ ++ มีข้อยกเว้นดังต่อไปนี้: หากคุณต้องการคุณสามารถเริ่มต้นตัวแปรโดยการตั้งค่าเป็น 0 หากภาษาของคุณไม่มีไวยากรณ์ ++ คุณอาจใช้ไวยากรณ์ที่เทียบเท่าเช่น foo + = 1 หรือ …

9
พิมพ์หมายเลขเฉพาะ 128 หมายเลขแรกโดยไม่ใช้คำที่สงวนไว้
วิธีแก้ปัญหาที่ชัดเจนคือเพียงพิมพ์มันเป็นสตริง แต่เป็นไปได้ไหมที่จะเขียนรหัสที่สั้นลง? ที่ต้องการ: ไม่ควรดำเนินการอินพุตใด ๆ และเอาต์พุตควรอยู่ในรูปแบบของ2 3 5 7 11 13 ...ฯลฯ ไม่มีการใช้คำสงวนในภาษาเลย ภาษาอย่างน้อยควรอนุญาตให้เขียนโปรแกรมที่มีโครงสร้างและมีคำที่สงวนไว้ (มิฉะนั้นจุดที่ 2 จะเป็นที่สงสัย) ก่อนอื่นฉันนึกถึง C / C ++ เป็นพิเศษ แต่ขยายคำถามขณะที่ยังพยายามป้องกันการโกง

15
เปรียบเทียบจำนวนเต็มสองจำนวนใน C หรือ C ++ โดยไม่มีตัวดำเนินการเปรียบเทียบ
สร้างโปรแกรมที่สั้นที่สุดซึ่งใช้จำนวนเต็มสองลายเซ็นเป็นอินพุต (ผ่าน stdin หรือเป็นอาร์กิวเมนต์) และแสดง 3 เอาต์พุตที่แตกต่างกันขึ้นอยู่กับว่าหมายเลขแรกคือ (1) มากกว่า (2) เล็กกว่าหรือ (3) เท่ากับวินาที จำนวน. จับ คุณไม่สามารถใช้สิ่งต่อไปนี้ในโปรแกรมของคุณ: มาตรฐานผู้ประกอบการเปรียบเทียบ: <, >, <=, >=, ,==!= ไฟล์ไลบรารีใด ๆ ที่นอกเหนือจากconio, หรือstdioiostream อักขระ ASCII ที่ไม่ใช่ ASCII หรือไม่สามารถพิมพ์ได้ ผู้ชนะ โปรแกรมที่มีจำนวนอักขระสั้นที่สุดเป็นผู้ชนะ

10
ความยืดหยุ่น Kolmogorov ขายอาคา!
นี่คือการ จำกัด แหล่งที่มา , Kolmogorov ซับซ้อน , รหัสกอล์ฟที่ท้าทายในการผลิตการส่งออกคงที่มีการป้อนข้อมูลที่ไม่มี อย่างไรก็ตามรูปแบบเอาต์พุตมีความยืดหยุ่น - อาจถูกพิมพ์ออกมาเป็นมาตรฐานพิมพ์ออกมาเป็นข้อผิดพลาดมาตรฐานส่งกลับเป็นรายการของอักขระส่งกลับเป็นรายการของไบต์หรือส่งกลับเป็นรายการของจำนวนเต็ม หากคุณคิดว่ามีสิ่งอื่นที่สมเหตุสมผลดูได้จากความคิดเห็น นี่คือการที่ง่ายและมีขนาดใหญ่ตัวอักษรศิลปะ ASCII CODEGOLF : CCCC OOO DDDD EEEEE GGG OOO L FFFFF C O O D D E G O O L F C O O D D EEE G GG O O L FFF C O O …

13
เอาท์พุตเพลงîþarâþcrîþโดยไม่ใช้ (m) ตัวอักษรใด ๆ
เป้าหมายของคุณคือการเขียนโปรแกรมที่ไม่มีการป้อนข้อมูลและแสดงผลข้อความต่อไปนี้ ca e na ŋa va o sa; þa ša ra la ła. ma a pa fa ga ta ča; în ja i da ða. ar ħo ên ôn ân uħo; carþ taŋ neŋ es nem. elo cenvos. แต่มีการจับ: สำหรับตัวอักษรแต่ละตัว (ตัวละครใด ๆ ที่มีประเภททั่วไปใน Unicode เริ่มต้นด้วยL) ในแหล่งที่มาของคุณคุณจะได้รับโทษ 20 ตัวอักษร! (สำหรับการอ้างอิงข้อความที่จะพิมพ์มี 81 …

10
อีโมติคอนกอล์ฟ
บทนำ ความท้าทายของคุณในวันนี้ (ได้รับแรงบันดาลใจจากความท้าทายนี้ ) คือการเขียนตัวอย่างฟังก์ชั่นหรือโปรแกรมเต็มรูปแบบซึ่งแต่ละตัวจะแสดงอิโมติคอน ASCII ที่หลากหลายโดยไม่ต้องใช้อักขระซ้ำ ท้าทาย รายการอิโมติคอน ASCII ที่ถูกต้องสำหรับความท้าทายนี้มีทั้งที่นี่และในบล็อกรหัสที่ด้านล่างของโพสต์นี้ ข้อมูลโค้ดแต่ละอันควรอยู่ในบรรทัดแยกต่างหากในการส่งของคุณ คุณสามารถใช้ภาษาเดียวเท่านั้นสำหรับตัวอย่างทั้งหมด ข้อมูลแต่ละชุดจะต้องส่งออกทั้งที่ stdout หรือกลับสตริงที่มีไอคอนแสดงอารมณ์และตัวเลือกท้ายบรรทัดใหม่และไม่มีอะไรอื่น คุณไม่สามารถใช้อักขระใด ๆ มากกว่าหนึ่งครั้งในตัวอย่างทั้งหมดอย่างไรก็ตามการใช้อักขระหลาย ๆ ครั้งในตัวอย่างเดียวก็ใช้ได้ คุณไม่สามารถใช้อักขระใด ๆ ที่ไม่ได้อยู่ในเพจรหัสของภาษาของคุณ (หรือ ascii หากภาษาของคุณไม่ได้ใช้เพจรหัสที่กำหนดเอง) ในตัวอย่างใด ๆ อีกวิธีหนึ่งคุณถูก จำกัด ไว้เฉพาะอักขระที่สามารถเข้ารหัสในหนึ่งไบต์ ไม่มีส่วนย่อยใด ๆ สามารถป้อนข้อมูลใด ๆ ได้ ช่องโหว่มาตรฐานไม่ได้รับอนุญาต คะแนนของคุณคือจำนวนตัวอย่างที่ไม่ซ้ำกันซึ่งแต่ละคนจะพิมพ์อิโมติคอน ASCII ที่แตกต่างกันในไฟล์ข้อความด้านบน คะแนนสูงสุดชนะ! โชคดี! อิโมติคอนที่อนุญาตแยกช่องว่าง: :-) :) :-] :] :-3 :3 …

14
แพดไฟล์ด้วยค่าศูนย์
งานของคุณในวันนี้คือการใช้ไฟล์ที่มีอยู่และต่อท้ายศูนย์จนถึงขนาดที่กำหนด คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นซึ่งใช้ชื่อของไฟล์ในไดเรกทอรีปัจจุบันที่และจำนวนของไบต์f bในขณะที่รักษาเนื้อหาต้นฉบับของfคุณจะต้องเขียนเลขศูนย์(null null ไม่ใช่ ascii 0s)ไปยังจุดสิ้นสุดเพื่อให้ขนาดใหม่เป็นbไบต์ คุณอาจคิดว่าfมีเพียงตัวอักษรและตัวเลขในชื่อที่คุณได้รับอนุญาตเต็มรูปแบบว่าในตอนแรกมันไม่ใหญ่กว่าbแต่อาจจะมีขนาดใหญ่เท่าbและมีพื้นที่ว่างที่ไม่มีที่สิ้นสุด คุณอาจไม่ถือว่าfไม่ว่างเปล่าหรือไม่มีไบต์เป็นศูนย์อยู่ ไม่ควรแก้ไขไฟล์ที่มีอยู่อื่นและไฟล์ใหม่ไม่ควรมีอยู่หลังจากสิ้นสุดการประมวลผล กรณีทดสอบ เนื้อหาของ f | b | ส่งผลให้เนื้อหาของ f 12345 | 10 | 1234500000 0 | 3 | 000 [ว่าง] | 2 | 00 [ว่าง] | 0 | [ว่าง] 123 | 3 | 123
12 code-golf  file-system  code-golf  code-golf  string  code-golf  string  code-golf  random  game  compression  code-golf  array-manipulation  sorting  code-golf  number  arithmetic  primes  code-golf  geometry  code-golf  code-golf  decision-problem  regular-expression  code-golf  string  math  code-challenge  restricted-source  integer  palindrome  code-golf  string  palindrome  code-challenge  busy-beaver  code-golf  ascii-art  code-golf  string  code-golf  string  permutations  code-golf  code-golf  string  permutations  code-golf  number  primes  function  set-theory  code-challenge  hello-world  code-golf  math  number  decision-problem  code-golf  code-golf  sequence  arithmetic  integer  code-golf  math  number  arithmetic  decision-problem  code-golf  kolmogorov-complexity  alphabet  code-golf  combinatorics  graph-theory  tree-traversal  code-golf  set-theory  code-golf  interpreter  brainfuck  substitution  code-golf  quine  permutations 

23
ตัวเลขรูปหลายเหลี่ยม
จำนวนเหลี่ยมเป็นจำนวนจุดในส่วนk-gon nขนาด คุณจะได้รับnและkและงานของคุณคือการเขียนโปรแกรม / ฟังก์ชั่นที่ส่งออก / พิมพ์หมายเลขที่สอดคล้องกัน เกณฑ์การให้คะแนน นี่คือรหัสกอล์ฟ ทางออกที่สั้นที่สุดในหน่วยไบต์ชนะ ตัวอย่าง 3จำนวน RD หกเหลี่ยม ( k=6, n=3) เป็น28เพราะมี28จุดที่อยู่บน Testcases สามารถสร้างขึ้นจากชุดทดสอบ Pyth นี้ การใช้งาน: สองบรรทัดต่อ testcase nข้างบนkด้านล่าง n k output 10 3 55 10 5 145 100 3 5050 1000 24 10990000 ข้อมูลเพิ่มเติม ใน Wikipedia: https://en.wikipedia.org/wiki/Polygonal_number ใน Wolfram Mathworld: http://mathworld.wolfram.com/PolygonalNumber.html ใน …

22
10 9 8 7 6 5 4 3 2 1 …พิมพ์ 2016
ในฐานะที่เป็นสปินออกไปความท้าทายของฉันมากกว่าที่งง2016เป้าหมายของคุณคือการส่งออก กฎ: คุณต้องรวมหมายเลข10 9 8 7 6 5 4 3 2 1ในลำดับนั้น พวกเขาสามารถใช้เป็นจำนวนเต็มของแต่ละบุคคลหรือตัดแบ่งกัน (เช่น1098) แต่10อาจไม่สามารถแยกออกเป็น1และ0- ไม่มีตัวอักษร (s) อาจจะอยู่ระหว่างตัวเลข โปรดทราบว่าในบางภาษา10อาจไม่ได้เป็นตัวแทนของตัวอักษรจำนวนเต็ม10ซึ่งเป็นที่ยอมรับได้จริง รหัสของคุณจะต้องไม่มีตัวเลขอื่น ๆ หรือตัวแปรตัวเลขที่กำหนดไว้ล่วงหน้าหรือค่าคงที่ (ดังนั้นTใน Pyth ไม่ได้รับอนุญาตเนื่องจากเป็นค่าคงที่ตัวเลข) คุณต้องคำนวณ 2016โดยใช้ตัวเลข เพียงแค่เอาท์พุท2016โดยไม่ต้องดำเนินการใด ๆ กับตัวเลขที่ต้องการ (ตัวอย่างเช่นโดยการถอดรหัสสตริงที่เข้ารหัสซึ่งประกอบด้วยอักขระที่เป็นตัวอักษรเท่านั้น) ไม่ได้รับอนุญาต ไม่อนุญาตให้ส่งออกเป็น2016ชิ้น (เช่น20จากนั้น16) 2016คุณต้องมีเอาท์พุทเดียวประกอบด้วยค่าตัวเลข คำตอบที่ถูกต้องซึ่งมีจำนวนไบต์น้อยที่สุดเป็นผู้ชนะ

5
หลีกเลี่ยงการทำซ้ำตัวอักษรระหว่างโปรแกรมง่าย ๆ ห้าโปรแกรม
คุณกำลังท้าทายคือการเขียน 5 โปรแกรมที่แตกต่างกันสำหรับงาน 5 อย่างต่อไปนี้: พิมพ์ Hello, World! รับอินพุตด้วย STDIN ส่งออกแฟคทอเรียลคุณสามารถสมมติว่าอินพุตเป็นจำนวนเต็ม> = 0 รับจำนวนเต็ม N คำนวณผลรวมของจำนวนเฉพาะ <= N กำหนดอินพุตด้วย STDIN เอาท์พุทตัวอักษรที่ใช้ในอินพุต ตัวอย่างเช่นการป้อนข้อมูลที่เป็นคุณจะต้องเอาท์พุทHello world helowrdโปรดทราบว่าการส่งออกเป็นตัวพิมพ์เล็ก คุณสามารถสันนิษฐานได้ว่าอินพุตนั้นเป็นตัวอักษรเสมอกับ whitespaces และ whitespaces จะถูกละเว้น เอาท์พุทเพชรต่อไปนี้แบบนี้ * *** ***** ******* ***** *** * ความท้าทายเหล่านี้ทั้งหมดอาจเป็นเรื่องง่าย แต่ก็มีการจับ จดหมายทั้งหมดที่คุณใช้ไม่สามารถใช้อีกครั้งในโปรแกรมอื่น นี้ไม่ได้ห้าม แต่จะทำให้คุณโทษของ8 ไบต์ ตัวอย่างเช่นหากนี่เป็นโปรแกรมของคุณสำหรับงานแรก: print("Hello, World!"); แล้วคุณจะไม่สามารถใช้ตัวอักษรต่อไปนี้ (ตัวพิมพ์ใหญ่หรือรูปแบบตัวพิมพ์เล็ก): p, r, …

5
ยกระดับพลัง
ท้าทาย ความท้าทายคือการเขียนโปรแกรมที่ใช้เวลาเป็นบวกตัวเลขaและไม่ใช่ศูนย์จำนวนbและเอาท์พุทa^b(ยกกำลังข) คุณสามารถใช้+ - * / abs()เป็นฟังก์ชัน / ตัวดำเนินการทางคณิตศาสตร์เท่านั้น สิ่งเหล่านี้สามารถใช้ได้กับค่าสเกลาร์เท่านั้น แต่ไม่สามารถใช้ได้กับรายการหรืออาร์เรย์ทั้งหมด ตัวอย่าง: 1.234 ^ 5.678 = 3.29980 4.5 ^ 4.5 = 869.874 4.5 ^-4.5 = 0.00114959 ที่เกี่ยวข้อง: http://xkcd.com/217/ รายละเอียด คุณสามารถเขียนฟังก์ชั่นหรือโครงสร้างที่คล้ายกันเพื่อใช้ในคอนโซล หากคุณไม่สามารถใช้อินพุตคอนโซลคุณสามารถสมมติว่าทั้งสองหมายเลขถูกบันทึกในตัวแปรและ ouptut ผ่านเอาต์พุตมาตรฐานหรือเขียนไปยังไฟล์ ผลลัพธ์จะต้องมีความถูกต้องอย่างน้อย 4 หลักนัยสำคัญ คุณสามารถสันนิษฐานได้ว่าทั้งคู่aและbไม่ใช่ศูนย์ ไม่สามารถรันไทม์ที่มากกว่า 1 นาทีได้อย่างมีนัยสำคัญ จำนวนไบต์น้อยที่สุดจะเป็นผู้ชนะ โปรดอธิบายโปรแกรมและอัลกอริทึมของคุณ แก้ไข: ต้องพิจารณาเฉพาะฐานบวก คุณสามารถสันนิษฐานa>0ได้ ระวังว่าตัวเลขทั้งสองไม่จำเป็นต้องเป็นจำนวนเต็ม !!!

9
มหาพีระมิดแห่งควิน
งานนี้เป็นความท้าทายที่ค่อนข้างง่ายด้วยการบิดคุณต้องเอาท์พุทซอร์สโค้ดของคุณในรูปของปิรามิด รูปร่างของปิรามิดมีการกำหนดไว้ด้านล่าง: 1 234 56789 ABCDEFG HIJKLMNOP QRSTUVWXYZa bcdefghijklmn ......etc...... ข้อ จำกัด หลักของความท้าทายนี้คือควินของคุณต้องมีจำนวนไบต์เพียงพอที่จะไม่ขัดขวางรูปแบบของปิรามิด ตัวอย่างเช่นความยาวของโปรแกรมต่อไปนี้จะใช้ได้: 1-byter: 1st layer of the pyramid (not allowed by definition of a quine). 4-byter: 1st and 2nd layers of the pyramid. 9-byter: 1st, 2nd and 3rd layers of the pyramid. etc... ดังนั้นหากโปรแกรมของคุณคือ: QWERTY มันจะไม่ถูกต้องเพราะมันจะจัดเรียงเช่น: Q WER …

6
สลับ Quine!
เราทุกคนรู้ว่าสิ่งที่ควินคือ คว่ำควินเป็นโปรแกรมที่ไม่ว่างเปล่าที่พิมพ์ผกผันของรหัสที่มาของมันโดยไม่ต้องอ่านรหัสที่มาของตนและประกอบด้วย แต่เพียงผู้เดียวของตัวอักษรที่พิมพ์อักขระ ASCII (พื้นที่ผ่าน~) ที่นี่“ ผกผันของซอร์สโค้ด” หมายถึงสิ่งต่อไปนี้: ผลลัพธ์ของโปรแกรมของคุณจะต้องมีอักขระ ASCII ที่พิมพ์ได้(m - c) แต่ละครั้งโดยที่cคือจำนวนครั้งที่อักขระที่กล่าวถึงเกิดขึ้นในรหัสของคุณและmคือค่าสูงสุด จำนวนครั้งที่มีการซ้ำอักขระใด ๆ ในรหัสของคุณ (กล่าวอีกนัยหนึ่ง: รหัสของคุณ + ผลลัพธ์ของคุณ = การเรียงสับเปลี่ยนของmคูณทั้งหมดของ ASCII ที่พิมพ์ได้) ตัวอย่างเช่นถ้าโปรแกรมของคุณ12345แล้วm = 1และคุณควรส่งออกการเปลี่ยนแปลงของสายนี้ใด ๆ : !"#$%&'()*+,-./06789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ถ้าโปรแกรมของคุณAABแล้วm = 2และคุณควรส่งออกการเปลี่ยนแปลงใด ๆ : !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@BCCDDEEFFGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ[[\\]]^^__``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~ หมายเหตุวิธีการมีสองหายไปAs Bและหนึ่งที่ขาดหายไป แม้ว่าโปรแกรมที่มีอักขระ ASCII ที่พิมพ์ได้ทั้งหมดและไม่มีสิ่งใดเป็น quine ผกผันที่ถูกต้อง (เป็นที่พอใจm = 1 ) คำตอบดังกล่าวจะไม่สามารถแข่งขันได้มากนักเนื่องจากความยาวของมัน คุณจะต้องเขียนโปรแกรมที่เป็นควินคว่ำตามที่อธิบายไว้ในวรรคข้างต้น …

8
วาดรูปสามเหลี่ยมพี
การชี้แจง: โดยทั่วไปคุณต้องทำสิ่งนี้ ฟังก์ชัน totient ของออยเลอร์มีชื่อ phi ลองคำนวณ phi (8) ก่อนอื่นให้ระบุหมายเลขทั้งหมด 8 และต่ำกว่าไม่รวม 0 หรือต่ำกว่า 8 7 6 5 4 3 2 1 ตอนนี้ค้นหาว่าตัวเลขใดไม่ใช้ตัวคูณกับ 8 (1 ไม่นับ) และวาง#ในตำแหน่งของพวกเขา 8 # 6 # 4 # 2 # ลบตัวเลข # # # # - ทีนี้ทำอย่างนี้ แต่เอาท์พุทสตริงเข้าด้วยกันในรูปสามเหลี่ยม 9 88 777 6666 55555 444444 3333333 …

23
ค้นหาตัวหารที่เป็นบวก!
คำนิยาม จำนวนเป็นบวกถ้ามันมากกว่าศูนย์ Number ( A) คือตัวหารของตัวเลขอื่น ( B) หากAสามารถหารBด้วยส่วนที่เหลือ ตัวอย่างเช่น2เป็นตัวหาร6เพราะ2สามารถหาร6ด้วยส่วนที่เหลือ เป้าหมาย งานของคุณคือการเขียนโปรแกรม / ฟังก์ชั่นที่ใช้จำนวนบวกแล้วค้นหาตัวหารทั้งหมด การ จำกัด คุณอาจจะไม่ได้ใช้ใด ๆ ในตัวที่เกี่ยวข้องกับนายกรัฐมนตรี หรือ ตัวประกอบ ความซับซ้อนของขั้นตอนวิธีการของคุณต้องไม่เกิน O (sqrt (n)) เสรีภาพ รายการผลลัพธ์อาจมีรายการที่ซ้ำกัน ไม่จำเป็นต้องเรียงรายการเอาท์พุท เกณฑ์การให้คะแนน นี่คือรหัสกอล์ฟ ทางออกที่สั้นที่สุดในหน่วยไบต์ชนะ Testcases input output 1 1 2 1,2 6 1,2,3,6 9 1,3,9

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