คำถามติดแท็ก file-system

สำหรับความท้าทายที่เกี่ยวข้องกับการจัดการและการข้ามระบบไฟล์ ซึ่งอาจรวมถึงการอ่านแผนผังไดเรกทอรีการสร้างย้ายและลบไฟล์หรือไดเรกทอรีการอ่านหรือเปลี่ยนการอนุญาตไฟล์ ฯลฯ

14
การคำนวณสารบบ
สำหรับความท้าทายนี้คุณจะได้รับเส้นทางที่แน่นอนและเส้นทาง "ใหม่" (ซึ่งอาจเป็นแบบสัมบูรณ์หรือแบบสัมพัทธ์) และคุณต้องกลับเส้นทางสุดท้าย ตัวอย่างเช่นหากไดเรกทอรีปัจจุบันของคุณคือ/var/tmp/test: my_dirหรือmy_dir/ ควรกลับมา/var/tmp/test/my_dir ../../my_dir ควรกลับมา /var/my_dir /my_dir/./ ควรกลับมา /my_dir ../../../../../ ควรกลับมา / หากต้องการความคล่องแคล่วมากขึ้น: ไดเรกทอรีเป็นสตริงที่ไม่ว่างเปล่าประกอบด้วยตัวอักษรและตัวเลขและสัญลักษณ์-, _หรือ. เส้นทางนี้เป็นรายการของ 0 หรือมากกว่าไดเรกทอรี/แยกโดยใช้ พา ธ สัมบูรณ์เริ่มต้นด้วย a /, พา ธ สัมพัทธ์ไม่ /เส้นทางอาจรวมถึงตอนจบ คุณต้อง "แก้ไข" เส้นทางที่สองให้เส้นทางแรก กระบวนการแก้ไขคือ: ทดสอบว่าเส้นทางที่สองสัมพันธ์หรือไม่ ถ้าเป็นเช่นนั้นให้ใส่ไดเรกทอรีของเส้นทางที่แน่นอนไปยังจุดเริ่มต้นของเส้นทางที่สอง หากมีไดเรกทอรีใด ๆ ให้..ลบออกและไดเรกทอรีก่อนหน้า หากเป็นไดเรกทอรีแรกให้ลบออก หากมีไดเรกทอรีใด ๆ ให้.ลบออก เอาต์พุตพา ธ สัมบูรณ์สุดท้าย /คุณไม่ควรออกสิ้นสุด คุณไม่จำเป็นต้องจัดการกับอินพุตที่ไม่ถูกต้อง คำสั่งควรใช้งานได้ไม่ว่าจะมีไดเรกทอรีที่ส่งผ่านอยู่จริงในเครื่องของคุณหรือไม่ …

4
คำนวณตัวเลขจริง
คำนิยาม เป็นจำนวนเต็มบวกnเป็นจำนวนปฏิบัติ (OEIS ลำดับA005153 ) IFF nทุกจำนวนเต็มบวกที่มีขนาดเล็กสามารถแสดงเป็นผลรวมของตัวหารที่แตกต่างของ ตัวอย่างเช่น18เป็นจำนวนจริง: ตัวหารคือ 1, 2, 3, 6, 9, และ 18 และจำนวนเต็มบวกอื่น ๆ ที่น้อยกว่า 18 สามารถเกิดขึ้นได้ดังนี้: 4 = 1 + 3 5 = 2 + 3 7 = 1 + 6 8 = 2 + 6 10 = 1 + 9 11 = 2 + …
18 code-golf  sequence  number-theory  code-golf  code-challenge  sorting  c  code-golf  restricted-source  code-golf  natural-language  code-golf  tree-traversal  file-system  popularity-contest  pi  polyglot  code-golf  game  sliding-puzzle  code-golf  game  minesweeper  code-challenge  ascii-art  code-challenge  popularity-contest  graphical-output  code-challenge  popularity-contest  hello-world  underhanded  obfuscation  code-golf  code-golf  function  code-golf  code-golf  code-golf  popularity-contest  rosetta-stone  code-golf  primes  code-golf  restricted-source  popularity-contest  number  sequence  code-golf  restricted-source  popularity-contest  graphical-output  code-golf  popularity-contest  code-golf  primes  code-golf  game  code-golf  math  popularity-contest  popularity-contest  code-generation  popularity-contest  code-bowling  code-golf  popularity-contest  underhanded  code-golf  metagolf 

10
โปรแกรมขี้ตกใจ
วัตถุประสงค์ คุณจะต้องเขียนโปรแกรมที่รับจำนวนเต็มnเป็นอินพุต (จากบรรทัดคำสั่ง) และฝังตัวเอง (โปรแกรม) nไดเรกทอรีลงในไดเรกทอรีต้นไม้ ตัวอย่างด้วยn=5: ชื่อโฟลเดอร์อาจเป็นสิ่งที่คุณต้องการ ข้อกำหนดเพียงอย่างเดียวคือความลึกที่ถูกต้องและโปรแกรมนั้นสามารถรันอีกครั้งจากจุดใหม่ในไดเรกทอรีต้นไม้และไฟล์ต้นฉบับใหม่ยังคงชื่อไฟล์เดิม โบนัส: คะแนน * 0.9หากไดเรกทอรีทั้งหมดมีชื่อแตกต่างกัน (อย่างน้อยต้องเป็นความลึก 1 000 000) คะแนน * 0.5หากคุณไม่ได้อ่านหรือย้ายไฟล์ต้นฉบับโดยตรงหรือโดยอ้อมหรือเข้าถึงซอร์สโค้ดของโปรแกรม

9
ย่นเส้นทางที่แน่นอน
บางครั้งพา ธ สัมบูรณ์ที่มีความยาวเช่นในพารามิเตอร์บรรทัดคำสั่งไปยังเครื่องมือ linux สามารถทำให้สั้นลงโดยใช้ไดเรกทอรีการทำงานปัจจุบันเป็นข้อมูลอ้างอิง: $ pwd /home/heh $ cat /home/heh/mydir/myfile my stuff $ cat mydir/myfile my stuff ในการท้าทายนี้คุณควรสร้างฟังก์ชันหรือโปรแกรมที่รับพารามิเตอร์สองตัว: พา ธ สัมบูรณ์โดยใช้รูปแบบ linux (เริ่มต้นด้วย/) ไดเรกทอรีปัจจุบันโดยใช้รูปแบบเดียวกัน เอาต์พุตจะสั้นกว่าดังต่อไปนี้: อินพุต 1 ไม่เปลี่ยนแปลง พา ธ สัมพัทธ์ที่อ้างถึงไฟล์ / ไดเร็กทอรีเดียวกันกับพา ธ สัมบูรณ์ คะแนนดี: หากระบบปฏิบัติการของคุณเข้ากันได้กับ linux คุณสามารถใช้ไดเรกทอรีปัจจุบันของระบบแทนการรับมันเป็นอินพุต คุณสามารถสมมติว่าอินพุตมีอักขระตัวอักษรและตัวเลขเท่านั้น (และตัวคั่นพา ธ ) คุณสามารถสันนิษฐานได้ว่าเส้นทางสัมบูรณ์การป้อนข้อมูลไม่มีตัวคั่นเส้นทาง/ในตอนท้าย คุณสามารถสมมติว่าไดเรกทอรีปัจจุบันของการป้อนข้อมูลมีตัวคั่นเส้นทาง/ในตอนท้าย คุณไม่สามารถสันนิษฐานได้ว่าพา ธ สัมบูรณ์อ้างถึงไฟล์ที่มีอยู่หรือส่วนใด ๆ …

1
ซ่อนรหัสความชั่วร้าย - ไฟล์พิมพ์ที่มีสตริงที่กำหนดที่ใดก็ได้ในแผนผังไดเรกทอรี [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัพเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Code Golf Stack Exchange ปิดให้บริการใน3 ปีที่ผ่านมา จุดประสงค์ของปริศนานี้คือการเรียนรู้วิธีซ่อนรหัสอันตรายและค้นพบในโปรแกรม บุคคลกำลังถามคำถาม: ได้โปรดให้รหัสแก่ฉันเพื่อที่ฉันจะค้นหาไฟล์อาจอยู่ในไดเรกทอรีปัจจุบันหรือในไดเรกทอรีย่อย (นี่เป็นคำถามที่แตกต่างจากคำถามจริงที่ฉันเคยเห็นโพสต์ในเว็บไซต์เดียว) จะเจาะจงมากขึ้น: OP ต้องการให้คุณเขียนโปรแกรมที่ยอมรับสตริงและไดเรกทอรี มันจะข้ามไฟล์ทั้งหมดในไดเรกทอรีและไดเรกทอรีย่อยทั้งหมดซ้ำ สำหรับแต่ละไฟล์มันจะตรวจสอบว่าไฟล์มีสตริงอยู่หรือไม่และหากเป็นเช่นนั้นจะพิมพ์ชื่อของไฟล์ (โปรแกรมสามารถมีคุณสมบัติเพิ่มเติมได้ตราบใดที่เกี่ยวข้องกับเป้าหมายหลักหากคุณต้องการ) ไม่มีข้อกำหนดในการส่งผ่าน อย่างไรก็ตามภารกิจหลักของจิ๊กซอว์นี้คือการซ่อนรหัสเพิ่มเติมของโปรแกรมที่จะทำให้คนโง่ของคนที่ขอโปรแกรมในสายตาของผู้ใช้ / เพื่อนร่วมงาน / เจ้านาย / ฯลฯ ตัวอย่างเช่นพิมพ์ข้อความที่น่าอับอายในบางประเด็นเช่น: ผู้เขียนโปรแกรมไม่ทราบวิธีการเขียนโปรแกรมควรส่งคืนประกาศนียบัตรของเขา / เธอและถูกไล่ออก มีความคิดสร้างสรรค์. กฎ: วิธีการแก้ปัญหาจะต้องไม่เป็นอันตราย (ยกเว้นการหลอกของ OP แน่นอน) มันจะต้องไม่ทำความเสียหายใด ๆ ที่ไม่สามารถย้อนกลับได้ให้กับผู้ใช้ (ไม่เหมือนrm -rf)! การแก้ปัญหาดังกล่าวจะถูกตัดสิทธิ์ ควรซ่อนสิ่งที่หมุนรอบเพื่อให้ OP ไม่สามารถหาได้ง่าย ไม่ควรชัดเจนว่าคุณกำลังหลอกโอพี รหัสควรดูเป็นของแท้ …

10
อ่าน n สุ่มบรรทัดจากไฟล์ขนาดใหญ่ที่อาจเกิดขึ้น
ความท้าทายนี้เกี่ยวกับการอ่านบรรทัดสุ่มจากไฟล์ขนาดใหญ่ที่อาจเกิดขึ้นโดยไม่ต้องอ่านไฟล์ทั้งหมดลงในหน่วยความจำ อินพุต จำนวนเต็มnและชื่อของไฟล์ข้อความ เอาท์พุต n บรรทัดของไฟล์ข้อความที่เลือกอย่างสุ่มโดยไม่ต้องเปลี่ยน คุณสามารถสันนิษฐานได้ว่าnอยู่ในช่วง 1 ถึงจำนวนบรรทัดในไฟล์ ระวังเมื่อสุ่มตัวอย่างnตัวเลขโดยการสุ่มจากช่วงที่คำตอบที่คุณได้รับนั้นเหมือนกัน rand()%nใน C ไม่เหมือนกัน ทุกผลลัพธ์จะต้องมีโอกาสเท่าเทียมกัน กฎและข้อ จำกัด แต่ละบรรทัดของไฟล์ข้อความจะมีจำนวนอักขระเท่ากันและจะต้องไม่เกิน 80 รหัสของคุณจะต้องไม่อ่านเนื้อหาใด ๆ ของไฟล์ข้อความยกเว้น: สายเหล่านั้นมันออกมา บรรทัดแรกในการคำนวณจำนวนอักขระต่อบรรทัดในไฟล์ข้อความ เราสามารถสมมติว่าตัวละครแต่ละตัวในไฟล์ข้อความใช้เวลาหนึ่งไบต์ ตัวแยกบรรทัดจะถือว่ามีความยาว 1 ไบต์ วิธีแก้ปัญหาอาจใช้ตัวคั่นบรรทัดยาว 2 ไบต์เฉพาะในกรณีที่พวกเขาระบุความต้องการนี้ คุณอาจจะสมมติว่าบรรทัดสุดท้ายถูกยกเลิกโดยตัวแยกบรรทัด คำตอบของคุณควรเป็นโปรแกรมที่สมบูรณ์ แต่คุณสามารถระบุอินพุตในวิธีใดก็ได้ที่สะดวก ภาษาและห้องสมุด คุณสามารถใช้ภาษาหรือไลบรารีที่คุณต้องการ หมายเหตุ มีข้อกังวลเกี่ยวกับการคำนวณจำนวนบรรทัดในไฟล์ เมื่อ nimi ชี้ให้เห็นในความคิดเห็นคุณสามารถสรุปได้จากขนาดไฟล์และจำนวนตัวอักษรต่อบรรทัด แรงจูงใจ ในการแชทบางคนถามว่านี่เป็นคำถามที่ว่า "Do X ปราศจาก Y" หรือไม่ ฉันตีความสิ่งนี้เพื่อถามว่าข้อ จำกัด นั้นผิดปกติหรือไม่ …

15
Logic Gates ด้วยตนเอง
สร้างโปรแกรมที่จำลองประตูตรรกะพื้นฐาน การป้อนข้อมูล:ทุกคำหมวกตามด้วยเลขฐานสอง 2 1 OR 1 0บาทคั่นด้วยช่องว่างเช่น ประตูOR, AND, NOR, NAND, XORและXNORมีความจำเป็น เอาท์พุท:สิ่งที่เอาท์พุทของประตูตรรกะที่ป้อนจะได้รับตัวเลขสอง: 1 หรือ 0 ตัวอย่าง: AND 1 0กลาย0 XOR 0 1เป็น1 OR 1 1กลาย1 NAND 1 1เป็นกลายเป็น0 นี่คือ codegolf ดังนั้นรหัสที่สั้นที่สุดชนะ
13 code-golf  logic-gates  hashing  code-golf  code-golf  number  array-manipulation  integer  code-golf  string  unicode  text-processing  cops-and-robbers  boggle  cops-and-robbers  boggle  code-golf  ascii-art  code-golf  word-puzzle  king-of-the-hill  python  code-golf  sequence  kolmogorov-complexity  code-golf  source-layout  code-golf  string  kolmogorov-complexity  math  number  code-golf  date  code-golf  combinatorics  recursion  game  king-of-the-hill  javascript  code-golf  array-manipulation  code-golf  radiation-hardening  self-referential  code-golf  integer  code-golf  number  code-golf  set-theory  code-golf  sequence  code-golf  string  sorting  natural-language  code-golf  decision-problem  number-theory  primes  code-golf  code-golf  ascii-art  code-challenge  array-manipulation  sorting  rubiks-cube  regular-expression  code-golf  counting  file-system  recursion  code-golf  string  kolmogorov-complexity  color  code-golf  game  code-challenge  permutations  encode  restricted-time  decode  code-golf  math  decision-problem  matrix  integer  palindrome  code-golf  matrix  statistics  king-of-the-hill  king-of-the-hill  python  card-games  code-golf  string  natural-language  code-golf  sequence  number-theory 

17
โคลนตัวเอง!
คุณต้องสร้างโปรแกรมที่สร้างโคลนที่แน่นอนของตัวเองอย่างไม่สิ้นสุดจนกว่าจะหยุด สิ่งที่อยู่ในโปรแกรมดั้งเดิมจะต้องอยู่ในโคลน กล่าวอีกนัยหนึ่งโคลนและโปรแกรมต้นฉบับเหมือนกันทุกประการยกเว้นว่าโคลนไม่จำเป็นต้องอยู่ในไฟล์ประเภทเดียวกันกับซอร์สโค้ด (ซึ่งอาจเป็นไฟล์ข้อความ) ตัวอย่าง: หากโปรแกรมดั้งเดิมของฉันคือ: for i in range(0, 10): print i โคลนจะต้อง: for i in range(0, 10): print i กฎและคำชี้แจง: ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม โคลนต้องเป็นสำเนาที่แน่นอนของต้นฉบับ โคลนต้องเป็นไฟล์ที่อ่านได้ซึ่งสามารถเรียกใช้ได้หากใส่ล่ามที่ถูกต้อง โปรแกรมสามารถอ่านซอร์สโค้ดของตัวเอง โคลนทั้งหมดจะต้องเป็นไฟล์แยกต่างหาก ไม่อนุญาตให้พิมพ์โปรแกรมของคุณ ชื่อไฟล์จะนับเป็นจำนวนไบต์ โคลนนิ่งไม่จำเป็นต้องอยู่ในไดเรกทอรีเดียวกันกับไฟล์ต้นฉบับหรือแชร์ชื่อไฟล์เดียวกัน ควรสร้างอย่างน้อย 1,000 โคลน ชนะ: ไบต์ที่น้อยที่สุดชนะ!

4
ตีความชุดหมู
ได้รับการป้อนข้อมูลของหมู , SickPig , DeadPig , QuinePigหรือ DeafPigโปรแกรมเลือกหนึ่งในบรรดา "ภาษา" สุ่มและตีความการป้อนข้อมูลที่ว่า "ภาษา". ก่อนอื่นสุ่มเลือกระหว่างหนึ่งในห้าสมาชิกของ "Pig series": หมู หากตัวเลือกคือ Pig ให้เลียนแบบล่ามอ้างอิงโดยทำดังต่อไปนี้: ค้นหาการเกิดขึ้นครั้งแรกของคำPIGในอินพุท (เล็ก ๆ ) หากคำPIGไม่ปรากฏในอินพุตให้ส่งข้อความ File must contain the string 'PIG'.ออกและออก PIGมิฉะนั้นแยกสายป้อนบนเกิดขึ้นครั้งแรกของ เอาท์พุทข้อความหลังจากที่เกิดขึ้นครั้งแรกของการไฟล์ที่มีชื่อไฟล์ของข้อความก่อนPIGPIG PIGอาจมีอยู่ในข้อความที่จะส่งออก (ดังนั้นการป้อนข้อมูลของ fooPIGbarPIGbazควรส่งออกbarPIGbazไปยังไฟล์ที่เรียกว่าfoo) โปรดทราบว่าล่ามอ้างอิงใช้อินพุตผ่านอาร์กิวเมนต์บรรทัดคำสั่งที่ระบุชื่อไฟล์ที่จะอ่าน อย่างไรก็ตามการส่งของคุณอาจใช้วิธีการมาตรฐานที่ยอมรับบน PPCG SickPig หากตัวเลือกคือ SickPig ให้ทำตามคำแนะนำเดียวกับหมู อย่างไรก็ตามแทนที่จะเขียนข้อความหลังจากPIGลงไฟล์ให้เลือกแบบสุ่มจากรายการต่อไปนี้ GRUNT MOAN OINK BURP GROAN WHINE และส่งออกไปยังไฟล์แทน ตัวเลือกแบบสุ่มนี้ต้องเป็นอิสระจากตัวเลือกก่อนหน้า …

8
ลบไฟล์“ .DS_Store” ที่น่ารำคาญเหล่านั้น
หากคุณใช้ OS X คุณอาจคุ้นเคยกับไฟล์ ".DS_Store" ที่น่าอับอายซึ่งถูกสร้างขึ้นอันเป็นผลมาจากการใช้ Finder ความท้าทายคือการเขียนโค้ดที่จะผ่านทั้งระบบไฟล์และลบไฟล์ใด ๆ ที่ชื่อว่า ".DS_Store" Classic code golf - รหัสที่สั้นที่สุดชนะ ชี้แจง: รหัสไม่จำเป็นต้องลบไฟล์. DS_Store ใด ๆ ที่ต้องมี superuser สมมติว่าไม่มีไฟล์ดังกล่าวอยู่ รหัสควรลบเฉพาะไฟล์. DS_Store ที่เกี่ยวข้องเท่านั้น

14
การตรวจสอบไฟล์มีเพียง null null
เป้าหมายของคุณคือการเขียนโปรแกรมหรือฟังก์ชั่นที่ใช้เป็นอินพุตสตริงแทนพา ธ ไปยังไฟล์และส่งออกค่าจริงหากไฟล์นั้นไม่ว่างเปล่าและไม่มีไบต์ที่ไม่เป็นศูนย์เช่นบิตทั้งหมดเป็น 0 - - และค่าเท็จเป็นอย่างอื่น ฉันรู้ว่ามันเป็นปัญหาที่ง่ายมากและฉันคิดว่าฉันสามารถแฮ็กบางอย่างได้ แต่ฉันคิดว่าต้องมีวิธีสั้น ๆ และสง่างามในการทำเช่นนั้นและนั่นทำให้ฉันมีความคิดที่จะท้าทายมัน นี่คือcode-golfดังนั้นรหัสที่สั้นที่สุดในหน่วยไบต์ชนะ (การตั้งค่าของฉันเองจะไปที่โซลูชันที่เร็วที่สุด แต่นั่นก็ขึ้นอยู่กับการติดตั้ง ... ) คำถามที่เกี่ยวข้อง : แพดไฟล์ด้วยเลขศูนย์ แรงจูงใจ : เพียงเพื่อบอกว่าปัญหามาจากที่ใดในกรณีที่คุณสนใจ คุณไม่จำเป็นต้องอ่าน อิมเมจ ISO ของซีดีและดีวีดีคัดลอกด้วย "dd" หรือวิธีอื่นมักจะจบลงด้วยลำดับของบล็อกที่ไม่มีประโยชน์ที่มีเพียง null ไบต์เท่านั้น เทคนิคมาตรฐานในการลบบล็อกเหล่านี้เป็นที่รู้จักและเรียบง่าย (ดู /unix/74827/ ) แต่บางครั้งพวกเขาอาจลบข้อมูลที่ไม่เป็นประโยชน์ออกเนื่องจากสื่ออาจอยู่ในขนาดของตัวเอง ดังนั้นฉันต้องการตรวจสอบว่าบล็อกที่ลบออกมีไบต์ว่างเท่านั้น การลบบล็อคเหล่านี้มีความสำคัญต่อการกำหนด ISO อิมเมจเวอร์ชันปกติ

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 

4
ไดเรกทอรีต้นไม้ H
โปรแกรมเมอร์มักหมกมุ่นอยู่กับการวาดเศษส่วน ฉันคิดว่าเราต้องการสื่อที่ใช้คอมพิวเตอร์เครื่องใหม่ ต้นไม้ Hเป็นชนิดที่ค่อนข้างง่ายของเศษส่วนที่ทำจากเส้นแนวนอนและแนวตั้ง ที่นี่มันอยู่ที่การทำซ้ำสิบ ( มารยาท Wikipedia ): ตอนนี้ลองนึกภาพแต่ละบรรทัดในรูปภาพเป็นไดเรกทอรี (โฟลเดอร์) ในระบบไฟล์คอมพิวเตอร์มาตรฐาน ทั้งหมดยกเว้นเส้นที่เล็กที่สุดตัดกันสองบรรทัดเล็กกว่าตัวพวกมันเอง สองเส้นเล็ก ๆ เหล่านี้เป็นไดเรกทอรีย่อยของบรรทัดที่ใหญ่กว่า ดังนั้นเส้นแนวนอนขนาดใหญ่ที่อยู่ตรงกลางจึงเป็นไดเรคทอรีหลักของเส้นแนวตั้งที่ใหญ่ที่สุดสองเส้นซึ่งอยู่ในแนวเดียวกันกับพ่อแม่ปู่ย่าตายาย ฯลฯ ของเส้นที่เหลือในภาพ ท้าทาย เขียนโปรแกรมที่รับจำนวนเต็มบวก N ผ่าน stdin หรือบรรทัดคำสั่ง (หรือตัวเลือกอื่นที่ใกล้เคียงที่สุด) และสร้างแผนผังไดเร็กทอรีที่สะท้อนการวนซ้ำ Nth ของเศษส่วนต้นไม้ H การทำซ้ำครั้งแรก (N = 1) เป็นเส้นแนวนอนเดียว ในแต่ละการวนซ้ำที่ตามมาชุดใหม่ของเส้นแนวตั้งหรือแนวนอนจะถูกเพิ่มเข้าไปที่ปลายของบรรทัดปัจจุบัน ดังนั้นสำหรับ N = 2 จะมีการเพิ่มเส้นแนวตั้งสองเส้น (ทำให้เป็นรูปร่าง H) สำหรับ N = 3 สี่เส้นแนวนอนจะถูกเพิ่มเข้าไปในนั้นเป็นต้น treeชื่อของไดเรกทอรีรากจะต้องเสมอ ชื่อของไดเรกทอรีย่อยจะต้องตรงกับทิศทางที่พวกเขาอยู่ในส่วนที่เกี่ยวกับเส้นพ่อแม่ของพวกเขาโดยใช้right, …

30
สร้างและเขียนลงไฟล์
ท้าทาย สร้างไฟล์ใหม่และเขียนสตริงHello Worldลงไป ข้อ จำกัด ความท้าทายของคุณต้องเขียนไปยังไฟล์บนดิสก์ในระบบไฟล์ ไฟล์อาจไม่ใช่ไฟล์บันทึกที่สร้างขึ้นระหว่างการทำงานปกติของล่าม ไฟล์ต้องมีเพียงHello Worldสตริง มันได้รับอนุญาตให้มีขึ้นบรรทัดใหม่หรือช่องว่างที่น้อยที่สุด ไม่มีเนื้อหาอื่น ๆ ไม่อนุญาตให้ใช้แฟล็ก / ท่อบรรทัดคำสั่ง (ฯลฯ ) ยกเว้นเมื่อจำเป็นต้องเรียกใช้โปรแกรม (เช่นperl -p) หมายเหตุ นี่คือโค้ดกอล์ฟดังนั้นโปรแกรมที่สั้นที่สุดในหน่วยไบต์ชนะ ปฏิบัติตามวิญญาณของกฎไม่ใช่ตัวอักษร

7
Code Golf: ไดเรกทอรีต้นไม้ -> ต้นไม้
การประกวด (!): ในภาษาที่คุณเลือกให้เขียนโปรแกรมที่จะสำรวจทรีไดเรกทอรีของไดเรกทอรีที่กำหนดและส่งออกทรี (เช่นอาร์เรย์ของอาร์เรย์) ที่สอดคล้องกับมัน สมมติว่าไดเรกทอรีเป็นตัวแปรที่กำหนดไว้ล่วงหน้า D. จำนวนตัวอักษรที่เล็กที่สุดชนะ กฎ: คุณต้องใช้การสอบถามซ้ำ ดูกฎ หมายเหตุ: สมมติว่าไม่มีการจำกัดความลึกของการเรียกซ้ำ กล่าวอีกนัยหนึ่งรหัสของคุณต้องทำงานกับไดเรกทอรีต้นไม้ขนาดเล็กและในหลักการสำหรับต้นไม้ใหญ่ ตัวอย่างเช่น ต้นไม้ไดเรกทอรีคือ dir1 ├── dir11 │ ├── file111 │ └── file112 ├── dir12 │ ├── file121 │ ├── file122 │ └── file123 ├── file11 ├── file12 └── file13 ต้นไม้ออกคือ [[[],[]],[[],[],[]],[],[],[]] กอล์ฟรหัสแรกที่นี่เพื่อทราบว่าฉันกำลังทำอะไรผิด มีความสุข :)

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