คุณสามารถเอาชนะฉันได้ไหม (ส่วนโจร)


43

ส่วนโจร

ส่วนตำรวจสามารถพบได้ที่นี่

ท้าทาย

งานของคุณคือเอาชนะการส่งตำรวจในภาษาเดียวกันและรุ่นเดียวกัน (เช่นPython 3.5Python 3.4ดังนั้นจึงไม่ได้รับอนุญาต) การส่งจะ outgolfed เมื่อความยาวเป็นไบต์สั้นกว่าการส่งต้นฉบับ คุณจำเป็นต้องตีกอล์ฟอย่างน้อย 1 ไบต์เพื่อที่จะถอดรหัส เช่นถ้างานต้องทำ2 × nและการส่งเป็นดังต่อไปนี้:

print(2*input())

คุณสามารถเอาชนะตำรวจได้โดยทำสิ่งต่อไปนี้:

print 2*input()

หรือแม้แต่สิ่งนี้ (เนื่องจากอนุญาตแลมบ์ดา):

lambda x:2*x

โพสต์สิ่งนี้ด้วยหัวข้อ:

##{language name}, <s>{prev byte count}</s> {byte count}, {cop's submission + link}

ตัวอย่างเช่น:

Python 2, 16 12 ไบต์, Adnan (+ ลิงก์ไปยังการส่ง)

lambda x:2*x

คำนวณA005843 , (offset = 0)

ในกรณีนี้คุณได้ทำการแตกไฟล์

เกณฑ์การให้คะแนน

ผู้ที่ส่งผลงานมากที่สุดคือผู้ชนะ

กฎระเบียบ

  • การส่งแคร็กต้องเป็นภาษาเดียวกับการส่งตำรวจ
  • อินพุตเดียวกันควรเป็นผลลัพธ์เดียวกัน (ดังนั้น (2) = 4 ควรอยู่ที่ 4)
  • สำหรับภาษาเช่น Python คุณสามารถนำเข้าไลบรารีที่เป็นมาตรฐานที่รวมอยู่ในภาษานั้นได้ (ดังนั้นไม่มี numpy / sympy เป็นต้น)
  • อินพุตและเอาต์พุตเป็นทั้งทศนิยม (ฐาน 10)

บันทึก

ความท้าทายนี้เสร็จสิ้นแล้ว ผู้ชนะเลิศจากโจรส่วนคือfeersum คะแนนสุดท้ายสำหรับ CnR แสดงอยู่ด้านล่าง:

  • feersum : 16รอยแตก
  • เดนนิส : 12รอยแตก
  • Leaky Nun : 6รอยแตก
  • Lynn : 4รอยแตก
  • ไมล์ : 3รอยแตก
  • Martin Ender : 2รอยร้าว
  • Emigna : 2รอยแตก
  • jimmy23013 : 1แคร็ก
  • Sp3000 : 1รอยแตก
  • Randomra : 1รอยแตก
  • alephalpha : 1รอยแตก
  • nimi : 1รอยแตก
  • แตงโมที่ถูกทำลาย : 1แคร็ก
  • Dom Hastings : 1รอยแตก

คำตอบ:


8

Cheddar, 7 6 bytes, Downgoat

(<<)&1

ดูเหมือนว่าจะใช้งานได้ แต่เป็นไปได้เสมอที่ฉันไม่เข้าใจภาษาอย่างถูกต้อง


อีกทางหนึ่ง, (**)&2. ฉันพยายาม2&(**)แล้วล้มเหลว :(
Dennis

@Dennis (**)&2ทำงานได้ดีสำหรับฉัน: / แต่ยังใช้งานได้
Downgoat

14

เจลลี่ ,54 ไบต์ , George V. Williams

RÆḊḞ

ลองที่นี่

คุณสมบัติที่ซ่อนอยู่!

ถ้าฉันจำได้อย่างถูกต้องÆḊ(A) = sqrt (det (AA T )) คือ n! คูณn มิติการวัด Lebesgueของเริมที่เกิดขึ้นจากจุดอินพุต n และต้นกำเนิดในพื้นที่มิติ m เมื่อ n = 1 จะทำให้ระยะทางแบบยุคลิดลดลง ไม่แปลกที่หลังจากทั้งหมด ...


1
ใช่ฉันทำบางสิ่งบางอย่างที่แปลกประหลาดกับดีเทอร์มิแนนต์ ... ซ่อนไว้อย่างดีจนฉันหามันไม่เจอ!
เดนนิส

@Dennis ฉันรู้เรื่องนี้เพราะสักวันฉันก็พยายามที่จะเพิ่มดีเทอร์มีแนนต์และนั่นคือสิ่งที่คุณจะได้รับหากคุณต้องการให้มันทำงานเป็นผลิตภัณฑ์ครอส แต่ฉันใช้เวลานานเพราะฉันคิดว่ามันอาจจะแปลกเกินไปและไม่ได้คาดหวังว่าจะมีใครบางคนมาพร้อมกับสิ่งเดียวกัน ...
jimmy23013

สามารถพิจารณาเป็น "ไบต์" ได้จริงหรือ จุดรหัสสำหรับและอยู่ในช่วง UTF-16 นั่นทำให้โซลูชันนี้มีขนาด 6 ไบต์โดยสมมติว่าการเข้ารหัสแบบต่างกันและ 8 ไบต์โดยสมมติว่าการเข้ารหัสแบบเอกพันธ์ ถามอย่างตรงไปตรงมา
จูลส์


11

Hexagony , 91 33 ไบต์, น้ำเงิน

1""?{\>{+/</+'+./_'..@'~&/!}'+=($

กางออก:

    1 " " ?
   { \ > { +
  / < / + ' +
 . / _ ' . . @
  ' ~ & / ! }
   ' + = ( $
    . . . .

ลองออนไลน์!

ยังคงดูค่อนข้างเล่นกอล์ฟ แต่ฉันคิดว่าฉันโพสต์ไว้ก่อน FryAmTheEggman ชนะฉันไป ;)

คำอธิบาย

นี่คือเส้นทางการดำเนินการที่ใช้รหัสสี:

ป้อนคำอธิบายรูปภาพที่นี่

อย่างไรก็ตามสิ่งเหล่านี้มีความซับซ้อนโดยไม่จำเป็นเนื่องจากการเล่นกอล์ฟ นี่คือรหัสเดียวกันแน่นอนกับรูปแบบ saner:

ป้อนคำอธิบายรูปภาพที่นี่

มันดีกว่า. และสุดท้ายนี่คือแผนภาพหน่วยความจำที่ลูกศรสีแดงระบุตำแหน่งเริ่มต้นและทิศทางของตัวชี้หน่วยความจำ (MP):

ป้อนคำอธิบายรูปภาพที่นี่

สรุปสาระสำคัญคือการที่ฉันซ้ำคำนวณตัวเลข Fibonacci สามขอบป้ายกำกับf (i) , f (i + 1)และf (i + 2)ขณะที่การติดตามของ iterator บนขอบ, BและC ในขณะที่ทำเช่นนั้นบทบาทของขอบเหล่านี้จะถูกสลับสลับกันไปเรื่อย ๆ หลังการวนซ้ำแต่ละครั้ง เรามาดูกันว่ามันเกิดอะไรขึ้น ...

รหัสเริ่มต้นบนเส้นทางสีเทาซึ่งทำการตั้งค่าเริ่มต้นบางอย่าง โปรดทราบว่าf (i)มีค่าเริ่มต้นที่ถูกต้อง0แล้ว

1   Set edge f(i+1) to 1.
""  Move the MP to edge A.
?   Read input n into edge A.
)   Increment n.

ตอนนี้เส้นทางสีเขียวคือลูปหลัก _และ>เป็นเพียงกระจก

(     Decrement n.
<     If the result is zero or less, continue on the red path, otherwise
      perform another iteration of the main loop.
{     Move the MP to edge f(i+2).
+     Add edges f(i) and f(i+1) into this edge, computing the next Fibonacci number.
'     Move the MP to the edge opposite A.
~     Multiply by -1 to ensure that it's non-positive (the edge may have a positive
      value after a few iterations).
&     Copy the current value of n from A.
'     Move back and to the right again.
+     Copy n by adding it to zero. Since we know that the other adjacent edge
      is always zero, we no longer need to use ~&.
'+'+  Repeat the process twice, moving n all the way from A to B.
=     Reverse the orientation of the MP so that it points at f(i) which now
      becomes f(i+2) for the next iteration.

ด้วยวิธีนี้ MP จะเคลื่อนที่ไปรอบ ๆ ขอบด้านในของคอมพิวเตอร์คำนวณตัวเลขฟีโบนัชชีต่อเนื่องจนกระทั่งnถึงศูนย์ ในที่สุดเส้นทางสีแดงจะถูกดำเนินการ:

{}    Move the MP to f(i).
!     Print it.
@     Terminate the program.

ไดอะแกรมสร้างขึ้นด้วย Timwi ของHexagonyColorerและEsotericIDE


วัวศักดิ์สิทธิ์! ฉันคาดหวังว่าจะถูกคุณ แต่ไม่มากขนาดนั้น! 0.o
บลู

@Blue คุณวางแผนที่จะเพิ่มคำอธิบายให้กับคุณหรือไม่? ฉันจะสนใจว่ามันใช้งานได้อย่างไร :) ฉันจะเพิ่มคำอธิบายให้กับสิ่งนี้ไม่ช้าก็เร็ว แต่ฉันไม่แน่ใจว่าฉันจะหาเวลาวันนี้
Martin Ender

ใช่ฉันใช้วิธีการคำนวณแบบดั้งเดิมมากขึ้น ฉันลืมเกี่ยวกับ & อย่างสมบูรณ์ซึ่งอาจมีการบันทึกบางไบต์
บลู


7

Stack Cats, 14 13 ไบต์, feersum

^]T{_+:}_

ด้วย-nmแฟล็กสำหรับ +4 ไบต์ ลองออนไลน์!

โอเควงนั่นคือถั่ว ฉันพยายามหลายวิธีเช่นเดรัจฉานบังคับให้มากกว่าตัวอักษรที่ลดลงและเดรัจฉานบังคับ3x+2หรือ5x+4และพยายามที่จะขยายมัน แต่ฉันไม่เคยคาดว่าวิธีการแก้จริงประกอบด้วยห่วง

วิธีที่ดีที่สุดในการดูวิธีการทำงานนี้คือการเพิ่มการDตั้งค่าสถานะสำหรับการดีบั๊ก (เรียกใช้ด้วย-nmD) และเปิดการดีบักสำหรับลิงก์ TIO ด้านบน {}ห่วงจำด้านบนของสแต็คที่จุดเริ่มต้นของวงและออกเมื่อด้านบนของสแต็คเป็นค่าที่อีกครั้ง การตกแต่งภายในของวงทำให้การลบและการปั่นจักรยานขององค์ประกอบสามอันดับแรกของสแต็คสนุกไปด้วยซึ่งเป็นวิธีที่ลูปจะทำงานสำหรับการวนซ้ำจำนวนมาก


6

Sesos, 14 11 ไบต์, แม่ชีแบบไม่แน่นอน

คำนวณn 2 ลองที่นี่

การถ่ายโอนข้อมูล Hex:

0000000: 16c0f7 959d9b 26e83e ce3d                         ......&.>.=

จากการชุมนุม:

set numin
set numout
get
jmp
  jmp, sub 1, fwd 1, add 1, fwd 1, add 2, rwd 2, jnz
  fwd 2, sub 1
  rwd 1, sub 1
  jmp, sub 1, rwd 1, add 1, fwd 1, jnz
  rwd 1
jnz
fwd 2
put

เยี่ยมมากคุณสั้นกว่าเวอร์ชั่นกอล์ฟเดิมของฉันด้วยซ้ำ
Leun Nun

คำนวณนี้1 + 3 + … + (2n–1)แทนn × n:)
ลินน์

ฉันยังใช้วิธีการของคุณ
Leaky Nun

6

เคราะห์ร้าย776 759 ไบต์แตงโมทำลาย

| |||||||| | |
|| |||||| |
||| |||| |
|||| || |
||||| || |
|||| |||| |
||| |||||| |
|| |||||||| |
| |||||||||| |
|| |||||||| |
||| ||||||| |
||||||||||| |
||||||||||| |
||||||||||| |
||||||||||| |
|||||||||| |
||||||||| |
||||||||| |
||||||||| |
||||||||| |
|||||||||| |
||||||||||| |
|||||||||||| |
||||||||||| |
|||||||||| |
||||||||| |
|||||||| |
||||||| |
|||||| |
||||| |
|||| |
||| |
|| |
| |
| |
| |
|| |
|| |
|| |
|| |
|| |
| |
| |
| |
|| |
||| |
|||| |
||||| |
|||||| |
||||||| |
|||||| |
||||||| |
|||||||| |
||||||||| |
|||||||||| |
||||||||||| |
|||||||||||| |
||||||||||| |
|||||||||| |
||||||||| |
|||||||| |
||||||| |
|||||| |
||||| |
|||| |
||| |
|| |
| |
| |
| |
| |
|| |
| |
|| |
||| |
||| |
|||| |
||| |
|| |
| |
| |
| |
|| |
|| |
|| |
|| |

ฉันพยายามอ่านซอร์สโค้ดสำหรับภาษานี้ แต่มันสับสนเกินไป สำหรับสิ่งหนึ่งip[1]คือหมายเลขบรรทัดในขณะที่ip[0]เป็นหมายเลขคอลัมน์ในขณะที่cpพิกัดจะใช้วิธีอื่น ๆ แต่บางครั้งค่าของการได้รับมอบหมายให้cp ipฉันเลิกพยายามทำความเข้าใจกับสิ่งที่โปรแกรมกำลังทำอยู่และพบวิธีเข้ารหัสลำดับคำสั่งที่เหมือนกันโดยใช้แถบจำนวนน้อยลง


5

Brachylog , 27 21 ไบต์, ลดขนาด

yrb:1a:+a:[1]c*.
:2/.

ลองออนไลน์!


ทำได้ดี! การใช้การหารจำนวนเต็มไม่ใช่วิธีแก้ปัญหาที่ฉันนึกไว้ (ซึ่งยังสั้นกว่า) ไม่คิดแม้แต่เกี่ยวกับเรื่องนี้ tbh: p
เสียชีวิต

5

J, 17 12 ไบต์, ไมล์

+/@(]!2*-)i:

ค่อนข้างเหมือนกันกับต้นฉบับที่เพิ่งตีกอล์ฟมากขึ้น :)

i:มี+1ช่วงเปรียบเทียบกับi.มีประโยชน์ (และแปลก) หากคุณใช้i.ที่นี่n=0จะไม่ถูกต้อง แต่โชคดีที่i:แก้ได้

ลองออนไลน์ได้ที่นี่


เคล็ดลับเรียบร้อยกับi:การเป็นศูนย์สำหรับค่าลบ +/@(]!2*-)i.,]รุ่นของฉันคือ
ไมล์

5

M, 10 6 ไบต์, เดนนิส

R×\³¡Ṫ

ได้รับnก็คำนวณn THระดับพื้นดิน factorial ของn นี่คือการออกกำลังกายที่สนุก!

รหัสที่มีความสามารถของการทำงานเป็นวุ้นเพื่อให้คุณสามารถลองออนไลน์

คำอธิบาย

R×\³¡Ṫ  Input: n
R       Create the range [1, 2, ..., n]
   ³¡   Repeat n times starting with that range
 ×\       Find the cumulative products
     Ṫ  Get the last value in the list
        Return implicitly


5

Haskell, 15 14 ไบต์, xnor

until odd succ

ฉันใช้เวลาสองสามชั่วโมงเรียนรู้ที่จะถอดรหัส "ไม่มีจุดหมาย" ไวยากรณ์ ... untilฉันพบสิ่งนี้แทน

หรือสำหรับไพเราะน้อย 13 until odd(+1)ไบต์


ทำได้ดีมากนี่คือสิ่งที่ฉันมีอยู่ในใจ ฉันชอบคำสามคำ
xnor

4

Python 2, 43 40, xsot

g=lambda n:n<2or-~sum(map(g,range(n)))/3

น่าสนใจนี่คือสิ่งที่แตกต่างจากสิ่งที่ฉันมีในตอนแรก
xsot

4

Pyke, 11 9 ไบต์, muddyfish

hVoeX*oe+

ลองที่นี่!

มันทำงานอย่างไร

          Implicit input: n (accumulator), n (iterations)
h         Increment the number of iterations.
 V        Do the following n + 1 times.
  o         Iterator. Pushes its value (initially 0) and increments it.
   e        Perform integer division by 2.
            This pushes 0 the first time, then 1, then 2, etc.
    X       Square the result.
     *      Multiply the accumulator and the result.
      oe    As before.
        +   Add the result to the accumulator.
            This sets the accumulator to a(0) = 0 in the first iteration and
            applies the recursive formula in all subsequent ones.

โดยใช้วิธีการที่คุณจะได้รับ hV~oX*o+8 คำตอบขนาด 5 ไบต์ของฉันคือSDmX^
บลู

อ่า~oเรียบร้อย ฉันไม่รู้ว่าSDmX^จะทำยังไง
เดนนิส

โดยทั่วไปจะใช้การสนทนาแบบฐานผสมในช่วงที่มีการจัดทำดัชนี 1 เทียบกับกำลังสองนั้น ไม่ใช่สิ่งที่ OEIS
Blue

โอ้mมีผลกับXและไม่ใช่เท่านั้น^? นั่นอธิบายได้มาก
เดนนิส

ใช่mและคล้ายกันใช้เพียงโหนดต่อไป ความคิดเห็นใด ๆ ในเอกสาร ฯลฯ ของฉัน?
บลู

4

05AB1E , 7 4, Emigna

LnOx

จากสูตรสำหรับผลรวมของกำลังสองของจำนวนเต็มบวก 1 ^ 2 + 2 ^ 2 + 3 ^ 2 + ... + n ^ 2 = n (n + 1) (2 * n + 1) / 6 ถ้าเราคูณ ทั้งสองข้างด้วย 2 เราได้รับ Sum_ {k = 0..n} 2 * k ^ 2 = n (n + 1) (2 * n + 1) / 3 ซึ่งเป็นสูตรทางเลือกสำหรับลำดับนี้ - Mike Warburton (mikewarb (AT) gmail.com), 08 ก.ย. 2550


ฉันดีใจที่คุณแตกที่ 4 เนื่องจากมีการดัดแปลงสาธารณะของฉันเล็กน้อยที่ฉันพลาด ดี!
Emigna

4

เยลลี่, 22 21 ไบต์, เดนนิส

_²×c×Ḥc¥@÷⁸÷’{S
‘µR+ç

ฉันใช้เวลาหลายชั่วโมงในการอ่านซอร์สโค้ดของ Jelly สำหรับรหัสล่าสุดดังนั้นฉันจึงอาจใช้ "ทักษะ" นี้เพื่อใช้ ฉันหวังว่า @Dennis จะแบ่งปันการค้นพบทางคณิตศาสตร์ของเขากับเราเพื่อให้ได้สูตรที่สั้นกว่า (สมมติว่ามีบางสิ่งและไม่เพียง แต่เทคนิคเจลลี่แปลก ๆ !)


สำหรับการเปรียบเทียบฉันมี: '' Ḥc_× c @ + ¥ \ nr0ç @ €: '+ \ S
Sp3000

@ Sp3000 โอ้ทำไมคุณไม่โพสต์มัน?
feersum

มีเวลามากขึ้นที่จะคิดเกี่ยวกับ 6 ก่อนเดนนิสที่โพสต์ใหม่ใน M: P
Sp3000

4

J, 20 19 ไบต์, ไมล์

[:+/2^~+/@(!|.)\@i.

ซึ่งคำนวณผลิตภัณฑ์เป็นผลรวมของตัวเลข Fibonacci กำลังสองซึ่งคำนวณเป็นผลรวมของสัมประสิทธิ์ทวินาม

โชคดีที่ @miles ตัวเองโพสต์รหัสเพื่อสร้างหมายเลขฟีโบนักชีในความคิดเห็นนี้


4

Acc !! , 526 525 ไบต์, DLosc

N
Count x while _%60-46 {
(_+_%60*5-288)*10+N
}
_/60
Count i while _/27^i {
_+27^i*(_/27^i*26-18)
}
_*3+93
Count i while _/27^i/27%3 {
_-i%2*2+1
Count j while _/3^(3*j+2-i%2)%3 {
_+3^(1+i%2)
Count k while _/3^(3*k+1+i%2)%3-1 {
_+3^(3*k+1+i%2)*26
}
}
}
Count i while _/27^i/3 {
_-_/27^i/3%27*27^i*3+_/3^(3*i+1+_%3)%3*3
}
_/3
Count i while _/100^i {
_*10-(_%100^i)*9
}
Count i while _/100^i/10 {
_+_/100^i/10%10
Count j while i+1-j {
_+(_%10-_/100^(j+1)%10)*(100^(j+1)-1)
}
}
_/100
Count j while _/100^j {
Write _/100^j%10+48
}

ฉันไม่รู้ว่ามันทำงานอย่างไร แต่ฉันก็สามารถเห็นการปรับปรุงเล็กน้อย

24c24
< _+_/100^i*100^i*9
---
> _*10-(_%100^i)*9

อ่ายิง ฉันหวังว่าจะไม่มีใครได้เห็นกอล์ฟคณิตศาสตร์ที่ฉันพลาดไป +1
DLosc

4

Haskell, 10 ไบต์, xnor

gcd=<<(2^)

ตัวอย่างการใช้งาน: ->map ( gcd=<<(2^) ) [1..17][1,2,1,4,1,2,1,8,1,2,1,4,1,2,1,16,1]

วิธีการทำงาน: จากหน้า OEISเราจะเห็นว่าa(n) = gcd(2^n, n)หรือเขียนในไวยากรณ์ a n = gcd (2^n) nHaskell: ฟังก์ชั่นที่มีรูปแบบf x = g (h x) xที่สามารถหันไปจุดฟรีผ่านฟังก์ชั่น=<<: f = g =<< hเพราะฉะนั้นซึ่งแปลกลับไปgcd=<<(2^)gcd (2^x) x


............... อย่างไร
TuxCrafting

3

Sesos, 14 9 ไบต์, แม่ชีแบบไม่แน่นอน

คำนวณn mod 16 ลองที่นี่

hex:

0000000: 17f84a 750e4a 7d9d0f                              ..Ju.J}..

สภา:

set numin
set numout
set mask
get
jmp, sub 1, fwd 1, add 16, rwd 1, jnz
fwd 1
jmp, sub 16, fwd 1, add 1, rwd 1, jnz
fwd 1
put

นี่เป็นวิธีแก้ปัญหาของฉันอย่างแม่นยำ: D
Leun Nun เมื่อ

3

จริง ๆ แล้วดีจริง ๆ ฉันดีใจที่ถูก outgolfed เพื่อดูวิธีแก้ปัญหานี้
Destructible Lemon

ทำไมต้องมีสูตรง่าย ๆ ด้วยการเปลี่ยนที่ถูกต้อง?
xsot

@xsot เพราะฉันไม่รู้ว่าเขาใช้เวอร์ชันอะไร
Leun Nun



3

MATL, 11 10 bytes, Luis Mendo

YftdAwg_p*

แทนที่จะทำความยาว -1 ^ (อาร์เรย์) มันจะแปลงองค์ประกอบเป็นค่าบูลีน (ซึ่งมักจะเป็น 1) ลบล้างมันและนำผลคูณขององค์ประกอบ




3

Brachylog ขนาด11 10 ไบต์ลดความอ้วน

yb:AcLrLc.

ลองออนไลน์!

คำอธิบาย

Brachylog เป็นภาษาที่ได้มาจากการเปิดฉากซึ่งมีความสามารถมากที่สุดคือการพิสูจน์สิ่งต่าง ๆ

ที่นี่เราพิสูจน์ข้อความเหล่านี้:

yb:AcLrLc.
yb:AcL       Inclusive range from 1 to input, concatenated with A, gives L
     LrL     L reversed is still L
       Lc.   L concatenated is output

นี่เป็นคำตอบที่ฉันคิดไว้ในเรื่อง exacly ทำได้ดีมาก!
ทำให้เสียชีวิต

3

เยลลี่, 9 8 ไบต์, เดนนิส

œċr0$L€Ḅ

ขออภัย! ฉันไม่สามารถหาวิธีแก้ปัญหาที่คุณต้องการได้

สิ่งนี้ขึ้นอยู่กับความจริงที่ว่าC(n+k-1, k)มีหลายวิธีในการเลือกkค่าจากการnแทนที่

หมายเหตุ: สิ่งนี้ไม่มีประสิทธิภาพเนื่องจากจะสร้างชุดที่เป็นไปได้เพื่อนับจำนวนดังนั้นพยายามหลีกเลี่ยงการใช้ค่าn ที่มีขนาดใหญ่ออนไลน์

ลองมันออนไลน์หรือตรวจสอบได้ถึง n

ฉันพบภายหลังอีก 8 ไบต์เวอร์ชันที่มีประสิทธิภาพเพียงพอที่จะคำนวณn = 1,000 สิ่งนี้คำนวณค่าโดยใช้สัมประสิทธิ์ทวินามและหลีกเลี่ยงการสร้างรายการ

Ḷ+c’Ṛ;1Ḅ

ลองมันออนไลน์หรือตรวจสอบได้ถึง n

คำอธิบาย

œċr0$L€Ḅ  Input: n
  r0$     Create a range [n, n-1, ..., 0]
œċ        Create all combinations with replacement for
          (n, n), (n, n-1), ..., (n, 0)
     L€   Find the length of each
       Ḅ  Convert it from binary to decimal and return

Ḷ+c’Ṛ;1Ḅ  Input: n
Ḷ         Creates the range [0, 1, ..., n-1]
 +        Add n to each in that range
   ’      Get n-1
  c       Compute the binomial coefficients between each
    Ṛ     Reverse the values
     ;1   Append 1 to it
       Ḅ  Convert it from binary to decimal and return


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