L €€ CH € $! D €AṬHỊṢṢOOṄ! (การจับคู่ความยาว)


15

ชื่อเป็นรหัสวุ้นที่ถูกต้องซึ่งมีเอาต์พุตเดียวกันL€€ยกเว้นพิมพ์สองครั้ง

พื้นหลัง

คุณสามารถข้ามส่วนนี้โดยไม่สูญเสียความสามารถในการทำสิ่งที่ท้าทาย

การดำเนินการบางอย่างใน Jelly พยายามแปลงอาร์กิวเมนต์เป็นรายการแรกก่อนที่จะใช้การดำเนินการ ตัวอย่างหนึ่งคือการทำแผนที่อย่างรวดเร็ว บางครั้งสิ่งนี้นำไปสู่ผลลัพธ์ที่ไม่ได้ตั้งใจ

สำหรับโปรแกรมL€และอินพุต 5 ล่าม Jelly พยายามค้นหาความยาวของทุกองค์ประกอบของรายการ 5 เนื่องจาก 5 ไม่ใช่รายการ Jelly จะแปลงเป็นรายการ [1,2,3,4,5] จากนั้นความยาวของทุกองค์ประกอบจะถูกส่งออก: [1,1,1,1,1]. 1โปรดทราบว่าทุกจำนวนเต็มมีความยาว ถ้าเช่น10มีอยู่มันจะกลายเป็น1ไม่ใช่2(ความยาวเป็นหลัก)

สำหรับโปรแกรมL€€และใส่ 5, Jelly ล่ามพยายามที่จะหาความยาวขององค์ประกอบขององค์ประกอบของรายการ 5. ตั้งแต่ 5 ทุกที่ไม่ได้เป็นรายการ Jelly [1,2,3,4,5]แปลงไปที่รายการ [1,2,3,4,5]ตอนนี้ล่ามพยายามที่จะหาความยาวขององค์ประกอบขององค์ประกอบของรายการทุกทุกคน ทุกองค์ประกอบไม่ใช่รายการดังนั้น Jelly จึงแปลงเป็นรายการในลักษณะเดียวกัน: [[1],[1,2],[1,2,3],[1,2,3,4],[1,2,3,4,5]]. ความยาวของทุกองค์ประกอบย่อยจะถูกส่งออกเป็น[[1],[1,1],[1,1,1],[1,1,1,1],[1,1,1,1,1]]

งาน

งานของคุณคือค้นหาผลลัพธ์ของโปรแกรม Jelly Lตามด้วยเวลาที่ทำซ้ำaด้วยอินพุตbที่aและbจำนวนเต็มบวกเท่ากับอินพุตของโปรแกรม / ฟังก์ชัน

วิธีการทำเช่นนี้คือ:

เริ่มต้นด้วยอินพุตbทำตามaเวลาต่อไปนี้:

  • สำหรับทุกจำนวนเต็มที่โปรแกรมเห็นให้แทนที่ด้วยช่วงของจำนวนเต็ม (โดยที่range(x) := [1,2,3,...,x-1,x])

ในที่สุดแทนที่ทุกจำนวนเต็มด้วย 1

กรณีทดสอบ

a
b
output
- - - - -
1
1
[1]
- - - - -
1
2
[1, 1]
- - - - -
1
3
[1, 1, 1]
- - - - -
1
4
[1, 1, 1, 1]
- - - - -
1
5
[1, 1, 1, 1, 1]
- - - - -
1
6
[1, 1, 1, 1, 1, 1]
- - - - -
2
1
[[1]]
- - - - -
2
2
[[1], [1, 1]]
- - - - -
2
3
[[1], [1, 1], [1, 1, 1]]
- - - - -
2
4
[[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]
- - - - -
2
5
[[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]
- - - - -
2
6
[[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1]]
- - - - -
3
1
[[[1]]]
- - - - -
3
2
[[[1]], [[1], [1, 1]]]
- - - - -
3
3
[[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]
- - - - -
3
4
[[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]
- - - - -
3
5
[[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]]
- - - - -
3
6
[[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1]]]
- - - - -
4
1
[[[[1]]]]
- - - - -
4
2
[[[[1]]], [[[1]], [[1], [1, 1]]]]
- - - - -
4
3
[[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]]
- - - - -
4
4
[[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]]
- - - - -
4
5
[[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]]]
- - - - -
4
6
[[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1]]]]
- - - - -
5
1
[[[[[1]]]]]
- - - - -
5
2
[[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]]]
- - - - -
5
3
[[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]]]
- - - - -
5
4
[[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]]]
- - - - -
5
5
[[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]]]]
- - - - -
5
6
[[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1]]]]]
- - - - -
6
1
[[[[[[1]]]]]]
- - - - -
6
2
[[[[[[1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]]]]
- - - - -
6
3
[[[[[[1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]]]]
- - - - -
6
4
[[[[[[1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]]]]
- - - - -
6
5
[[[[[[1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]]]]]
- - - - -
6
6
[[[[[[1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]]]], [[[[[1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]]], [[[[1]]], [[[1]], [[1], [1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]]], [[[1]], [[1], [1, 1]], [[1], [1, 1], [1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1]], [[1], [1, 1], [1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1]]]]]]

กฎระเบียบ

  • aและbถูก จำกัด ให้เป็นจำนวนเต็มบวก
  • โปรแกรมหรือฟังก์ชั่นของคุณอาจใช้เวลาaและbในลำดับใด ๆ และในรูปแบบอินพุตมาตรฐานใด ๆ
  • ผลลัพธ์ควรเป็นรายการเชิงลึกหรือการแสดงสตริงของรายการดังกล่าว
  • ควรส่งคืนเอาต์พุตผ่านรูปแบบเอาต์พุตมาตรฐานใด ๆ
  • นี่คือดังนั้นรหัสที่สั้นที่สุดในแต่ละภาษาชนะ!

ฉันจะไม่อนุญาต buildins ที่ eval สตริงเป็นรหัส Jelly (มองที่คุณ, Jelly)
สตีเฟ่น

@StepHen การสร้างสตริงใช้จำนวนไบต์มากเกินไปเมื่อเทียบกับการทำซ้ำฟังก์ชัน Range ดังนั้นฉันจะปล่อยให้ความสามารถในการ eval ตามที่ได้รับอนุญาต
fireflame241

การกระจ่างของป้อม: ความยาวของจำนวนเต็มใด ๆ1ไม่ใช่ความยาวของการขยายทศนิยม?
ติตัส

@Titus ใช่ ฉันจะชี้แจงเรื่องนี้ในคำถาม
fireflame241

1
ชื่อสามารถแข็งแรงเล่นกอล์ฟไปL€€CH!DṬHỊṢṄ!(หรืออาจL€€Ṅ) ครับ ...
เอริก Outgolfer

คำตอบ:


13

เยลลี่ 3 ไบต์

R¡Ṡ

ลองออนไลน์!

รับอินพุตในลำดับย้อนกลับ
-2 ไบต์ขอบคุณ fireflame
-1 ไบต์ขอบคุณเดนนิส

คำอธิบาย

R¡Ṡ  Main link
 ¡   Repeat <first argument> times
R    Range (generates range, and vectorizes on lists)
  Ṡ  Sign (converts all numbers to 1 because they are all positive)

3
คุณสามารถใช้ประโยชน์จากอินพุตโดยปริยายโดยการลบและรับอาร์กิวเมนต์ในลำดับย้อนกลับ
fireflame241

@ fireflame241 โอ้ตกลงขอบคุณ! -2 ไบต์โดยการลบ^3เช่นกัน
HyperNeutrino

5
คุณสามารถใช้อะตอมสัญญาณแทนการขึ้นรูป
Dennis

แน่นอนว่า Jelly จะไม่สามารถเอาชนะได้ที่นี่ ...
Erik the Outgolfer

@Erik True แต่ฉันแปลกใจที่ไม่ปรากฏLหรือไม่ปรากฏในโซลูชันนี้
Mario Carneiro

11

Python 2 , 49 ไบต์

-1 ต้องขอบคุณJonathan Allan

f=lambda a,b:1>>a or[0]*b and f(a,b-1)+[f(a-1,b)]

ลองออนไลน์!

ปัญหานี้ดูเหมือนว่ามันจะเขียนในรูปแบบของฟังก์ชั่นซ้ำซ้ำลบหนึ่งจากแต่ละพารามิเตอร์ แนวคิดหลักคือลำดับสามารถเกี่ยวข้องดังนี้:

f(0,b) = 1
f(a,0) = []
f(a,b) = f(a,b-1) + [f(a-1,b)]

อย่างไรก็ตามการเขียนฟังก์ชันแบบเรียกซ้ำเช่นนี้ค่อนข้างยุ่งยากเนื่องจาก1เป็นค่าจริงและ[]เป็นค่าที่ไม่แน่นอนดังนั้นเราจึงต้องการคำหลักสองคำลัดวงจร ( andและor)

รุ่น golfed น้อยอาจมีลักษณะดังนี้:

lambda a,b:int(a<1)or[1,[]][b<1]and f(a,b-1)+[f(a-1,b)]

อย่างไรก็ตามเราสามารถใช้เคล็ดลับที่1>>aจะช่วยให้1ถ้าเป็นศูนย์และ0เป็นอย่างอื่นและที่เราสามารถกลับค่า truthy ถ้าและรายการที่ว่างเปล่าเป็นอย่างอื่นโดยการทำb>0[0]*b


1
บันทึกเป็นหนึ่งเดียวกับในสถานที่ของor[0]*b and or[0][:b]and
Jonathan Allan

9

Mathematica ขนาด 17 ไบต์

1^Range~Nest~##&

ใช้เวลาแล้วba

ลองใช้กับ Wolfram Sandbox

อย่างไร?

1^Range~Nest~##&

  Range             (* Range function; generates {1..<input>} *)
       ~Nest~##     (* Apply it on <input 1> <input 2> times *)
                    (* Mathematica automatically maps Range onto integers *)
1^                  (* Raise those to the exponent of 1; make everything 1 *)

การใช้

1^Range~Nest~##&[4, 2]

{{1}, {1, 1}, {1, 1, 1}, {1, 1, 1, 1}}


4

Gaiaขนาด 7 ไบต์

ẏ¦”@)⊃e

ลองออนไลน์!

ẏ¦ทำสิ่งเดียวกับที่นี่เหมือนกับL€ในเยลลี่ "เป็นบวกหรือไม่" และ¦เป็นแผนที่ซึ่งโดยนัยก็จะปลดจำนวนเต็มในช่วง 1 .. n ก่อนการแมป และเนื่องจากเรากำลังจัดการกับจำนวนเต็มเท่านั้น> = 1 จะส่งผลให้1สำหรับแต่ละ

ẏ¦”      Push the string "ẏ¦"
   @)    Push the first input+1
     ⊃   Repeat the last character of the string until it's input+1 characters long.
      e  Eval it.


3

PHP, 134 ไบต์

for($r=[$argv[2]];$argv[1]--;)($w=array_walk_recursive)($r,function(&$n){$n=range(1,$n);});$w($r,function(&$n){$n=1;});print_r($r[0]);

อาจมีวิธีการที่สั้นกว่าตัวอักษร ... แต่มันทำงานได้อย่างน้อย

ทำงานด้วย-nrและให้การaและbเป็นข้อโต้แย้งหรือลองออนไลน์


สำหรับการส่งออกในขณะที่ตัวอย่างการใช้งานecho strtr(preg_replace('#"\d":#','',json_encode($r[0],JSON_NUMERIC_CHECK)),"{}","[]");(ที่ผมทำในติ้ว) print_r($r[0]);แทน


3

JavaScript (ES6), 95 ไบต์

f=(a,b,r=/\d+/g)=>a--?f(a,b.replace(r,s=>`[${[...Array(+s)].map((_,i)=>++i)}]`)):b.replace(r,1)
<div oninput=o.textContent=f(a.value,b.value)><input type=number min=0 value=0 id=a><input type=number min=0 value=0 id=b><pre wrap id=o>1

I / O ขึ้นอยู่กับสตริง สิ่งที่ดีที่สุดที่ฉันสามารถทำได้คือไม่ใช่ 100 ไบต์:

(a,b)=>[...Array(-~a)].reduce(r=>r.replace(/\d+/g,a--?s=>`[${[...Array(+s)].map((_,i)=>++i)}]`:1),b)

3

Brachylogขนาด 21 ไบต์

,1{t+₁I&⟦₁ᵐ⁾;I}ⁱ⁽ṡᵐ⁾c

ลองออนไลน์!

แนวคิดง่าย ๆ แต่การติดตามระดับที่เหมาะสมในการแมปเพรดิเคต 'ช่วง' ที่ใช้เวลาเกือบครึ่งไบต์ :(

                 % Implicit input, list [a, b]
,1               % Append iteration index 1 to the list
{           }ⁱ⁽  % Do this iteratively a times, with [b, i] as the initial input
 t+₁I            % Increment iteration index, let this be I
     &⟦₁ᵐ⁾       % Map the "range from 1 to input" predicate on the first part of input
                 %   (b in the first iteration), at depth given by (old) iteration index
          ;I     % Append the incremented index to this, this is the input to next iteration
ṡᵐ⁾              % Take the sign of each element, mapped at depth given by final I
c                % "Concatenate" to remove extra surrounding array

และวิธีแก้ปัญหาแบบเรียกซ้ำเพียงเพื่อให้เกิดความมั่นใจ:

24 ไบต์

{t0&hṡᵐ|t-₁L&h⟦₁ᵐ;Lz↰ᵐ}c

ลองออนไลน์!


1

เยลลี่ 12 ไบต์

⁴Ṿ;”L;”€ẋ³¤V

ลองออนไลน์!

เพียงเพื่อเริ่มต้นสิ่งต่าง ๆ ฉันค่อนข้างแน่ใจว่ามันจะสั้นกว่านี้ถ้าฉันทำตามที่ฉันควรจะได้จริง ๆ ดังนั้นฉันจึงกำลังทำเรื่องนั้นอยู่ (บางคนในนินจา inb4)

คำอธิบาย

⁴Ṿ;”L;”€ẋ³¤V  Main link
 Ṿ            Generate Jelly code that will evaluate to
⁴             The second input
  ;           Concatenate with
   ”L         "L"
     ;        Concatenate with
      ”€ẋ³¤   Niladic Expression
      ”€      "€"
        ẋ     Repeated                times
         ³             <first input>
           V  Jelly-eval it
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.