งานที่แตกต่างกันตัวละครเดียวกัน


36

ในการท้าทายนี้คุณจะต้องแก้ปัญหาต่าง ๆ 4 ภารกิจโดยใช้ชุดอักขระเดียวกัน คุณสามารถจัดเรียงอักขระใหม่ แต่คุณไม่สามารถเพิ่มหรือลบอักขระได้

ผู้ชนะจะเป็นผู้ส่งงานที่แก้ปัญหาทั้งหมดโดยใช้จำนวนตัวอักษรน้อยที่สุด งานทั้งหมดจะต้องได้รับการแก้ไขในภาษาเดียวกัน

หมายเหตุว่ามันเป็นจำนวนที่น้อยที่สุดของตัวอักษรไม่ได้จำนวนที่น้อยที่สุดของที่ไม่ซ้ำกันของตัวละคร

ภารกิจที่ 1:

เอาท์พุทเป็นครั้งแรกที่Nตัวเลขของทุกสามจำนวนคอมโพสิต codeblock ด้านล่างแสดงหมายเลขผสม 19 รายการแรกในแถวแรกและหมายเลขประกอบสามทั้งหมดในแถวด้านล่าง

4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 22, 24, 25, 26, 27, 28, 30
4,       9,         14,         18,         22,         26,         30

หากแล้วออกที่ควรจะเป็นN=5 คุณจะต้องสนับสนุน4, 9, 14, 18, 221<=N<=50

ตัวเลขรวมเป็นตัวเลขบวกที่ไม่ใช่ตัวเลขเฉพาะหรือ 1

ผลลัพธ์สำหรับN=50:

4, 9, 14, 18, 22, 26, 30, 34, 38, 42, 46, 50, 54, 57, 62, 65, 69, 74, 77, 81, 85, 88, 92, 95, 99, 104, 108, 112, 116, 119, 122, 125, 129, 133, 136, 141, 144, 147, 152, 155, 159, 162, 166, 170, 174, 177, 182, 185, 188, 192

ภารกิจที่ 2:

เอาท์พุทN-by-Nตารางการคูณ คุณต้องสนับสนุน1<=N<=20

ตัวอย่าง:

N = 4
1   2   3   4
2   4   6   8
3   6   9  12
4   8  12  16

[[1,2,3,4],[2,4,6,8],[3,6,9,12],[4,8,12,16]]รูปแบบการส่งออกเป็นตัวเลือกต่อไปนี้คือผลลัพธ์ที่ยอมรับได้

ภารกิจที่ 3:

ตรวจสอบว่าตัวเลขเป็นตัวเลขฟีโบนักชีหรือไม่ คุณต้องสนับสนุนบวกNจนถึงขีด จำกัด จำนวนเต็มเริ่มต้นของภาษาของคุณ หากมีทั้งจำนวนเต็ม 32- บิตและจำนวนเต็ม 64- บิตแล้วคุณสามารถเลือกที่จะใช้รหัสที่สั้นที่สุด ตัวอย่างเช่นใช้intแทนlong intหากคุณมีทางเลือก คุณไม่สามารถเลือกจำนวนเต็มขนาดเล็กกว่า 32 บิตเว้นแต่ว่าเป็นค่าเริ่มต้น (คุณไม่สามารถใช้จำนวนเต็ม 8 บิตหากเป็นค่าเริ่มต้น 32 บิต)

true/false, false/true, 1/0, 1/-1, a/bมีทั้งหมดเอาท์พุทที่ยอมรับตราบเท่าที่มันสอดคล้องกัน

ภารกิจที่ 4:

ใช้เป็นอินพุทและเอาท์พุทผลมาจากการN คุณจะต้องสนับสนุน1^1+2^2+3^3+...N^N1<=N<=10

10 ผลลัพธ์ที่แตกต่างคือ:

1, 5, 32, 288, 3413, 50069, 873612, 17650828, 405071317, 10405071317

นี่คือดังนั้นการส่งสั้นที่สุดในแต่ละภาษาชนะ!

ส่วนย่อยของโค้ดนี้จะช่วยตรวจสอบวิธีแก้ไขปัญหาของคุณ มันวัดชุดอักขระขั้นต่ำที่จำเป็นในการรวมโซลูชันทั้งสี่และแสดงอักขระที่เหลือ


1
ไบนารี: ตัวละครสองตัว
coredump

@coredump ใช่ตัวละครแปลก ๆสองตัว ...
Stewie Griffin

คำตอบ:


12

Python 88 88ไบต์

lambda n:[a for a in range(11*n)if any(a%b<1for b in range(2,a))][:3*n:3]#1,,,=====bd++
lambda n:[[a*b for b in range(1,n+1)]for a in range(1,n+1)]#,,::ybaaa(*i%n< =====2)d33f
f=lambda n,a=1,b=1:a<n and f(n,b,a+b)or n==a#2eerrrfo::((**iii11[[aannn+     ]]y))%33gg
f=lambda n,a=1:a<=n and a**a+f(n,a+1)#::ooeeiii]]      y))bbbgg,,rrrra((11[[nnnnf==2%33

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


1
จะrange(11*n)มีคอมโพสิตเพียงพอหรือไม่
FlipTack

1
@FlipTack ใช่5*nเพียงพอแล้ว
Martin Ender

12

เยลลี่ , 19 18 17 ตัวละคร

ภารกิจที่ 1

Ḟþe*S
×5µḊḟÆRm3ḣ³

ลองออนไลน์!

ภารกิจที่ 2

5µḊḟÆRm3ḣ³Ḟe*S
×þ

ลองออนไลน์!

ภารกิจที่ 3

5µḊḟmḣþ*S
×3RÆḞ³e

ลองออนไลน์!

ภารกิจที่ 4

×5ḊḟÆm3ḣ³þe
Rµ*ḞS

ลองออนไลน์!

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

ทุกบรรทัดในโปรแกรม Jelly กำหนดลิงค์แยก(ฟังก์ชั่น) อันสุดท้ายคือลิงค์หลักและถูกเรียกโดยอัตโนมัติเมื่อมีการใช้งานโปรแกรม เว้นแต่ว่าลิงก์หลักจะอ้างอิงถึงลิงก์อื่น แต่อย่างใดจะไม่มีผลกระทบใด ๆ โปรดทราบว่าแม้ลิงก์ที่ไม่ได้รวบรวมอาจไม่มีข้อผิดพลาดในการแยกวิเคราะห์

ภารกิจที่ 1

×5µḊḟÆRm3ḣ³  Main link. Argument: n

×5           Yield 5n.
  µ          Begin a new chain, with argument 5n.
   Ḋ         Dequeue; yield [2, ..., 5n].
     ÆR      Prime range; yield all primes in [1, ..., 5n].
    ḟ        Filter; remove the elements to the right from the ones to the left.
       m3    Pick every third element.
         ḣ³  Keep the first n results.

ภารกิจที่ 2

เรื่องเล็ก ๆ น้อย ๆ×นี้คืออะตอมการคูณและ quick þ(ตาราง) ใช้กับ×การรวมกันขององค์ประกอบในด้านซ้ายและในการโต้แย้งที่ถูกต้อง หากอาร์กิวเมนต์เป็นจำนวนเต็ม (ซึ่งอยู่ที่นี่) ก็จะส่งค่าให้อยู่ในช่วงก่อน

ภารกิจที่ 3

×3RÆḞ³e  Main link. Argument: n

×3       Yield 3n.
  R      Range; yield [1, ..., 3n].
   ÆḞ    Fibonacci; yield [F(1), ... F(3n)].
     ³e  Test if n exists in the result.

ภารกิจที่ 4

Rµ*ḞS  Main link. Argument: n

R      Range; yield [1, ..., n].
 µ     Begin a new chain with argument [1, ..., n].
   Ḟ   Floor; yield [1, ..., n].
  *    Yield [1**1, ..., n**n].
    S  Take the sum.

ดีใจที่ได้เห็นÆḞกำลังพิสูจน์แล้วว่ามีประโยชน์!
ลินน์

9

Mathematica, 60 ตัวอักษร

ภารกิจที่ 1: คอมโพสิต

#/AFF^abcinoruy{};Select[Range[2,9#],!PrimeQ@#&][[;;3#;;3]]&

ภารกิจที่ 2: ตารางสูตรคูณ

!29;F@FPQRS[];a^b;c[c[e]];eeegiilmnnotu;Array[3##&,{#,#}]/3&

ภารกิจที่ 3: ฟีโบนักชี

##&;239;A/PS[]^e[];lmrtuy;{,};!FreeQ[Fibonacci@Range[3#],#]&

ภารกิจที่ 4: ผลรวมของอำนาจ

!###&;23/39;A@F;F[P[Q[]]];Raabccegiilnnorrty;Sum[e^e,{e,#}]&

แต่ละการส่งเป็นชุดของการแสดงออกที่จะถูกละเว้นตามด้วยฟังก์ชั่นที่ไม่มีชื่อซึ่งดำเนินงานที่ได้รับ

ฉันเขียนสคริปต์ CJam อย่างง่ายซึ่ง "ดีที่สุด" รวมการแก้ปัญหาดิบโดยการแสดงความคิดเห็นล่วงหน้า ฉันสิ้นสุดการบันทึกสามไบต์ด้านบนโดยการกำจัดความคิดเห็นแต่ละรายการด้วยตนเอง (ซึ่งจำเป็นต้องมีการจัดเรียงใหม่เพื่อให้ได้รับไวยากรณ์ที่ถูกต้องในแต่ละกรณี) สคริปต์ทำให้ง่ายขึ้นมากในการลองใช้วิธีแก้ปัญหาที่หลากหลายเพื่อดูว่าจะลดคะแนนโดยรวมลงหรือไม่ อย่าลังเลที่จะใช้สคริปต์ด้วยตัวคุณเอง


ฉันมีความคิดเห็น แต่มันไม่เกี่ยวกับรหัสของคุณ: P (คำตอบที่ดี btw) สคริปต์ CJam คุณสามารถมองเห็นข้อบกพร่องง่าย: ถ้าผมใส่abและbaเป็นสคริปก็จะให้ฉัน(**)abและ(**)baแทนและab ba
HyperNeutrino

@AlexL ใช่มันไม่ได้พิจารณาถึงความจริงที่ว่า(**)ตัวเองสามารถใช้เพื่อปกปิดอักขระบางตัวได้หากถูกใช้ในโปรแกรมอื่น ๆ
Martin Ender

9

MATL , 29 28 26 ตัวอักษร

ภารกิจ 1 (ทุกหมายเลขสามคอมโพสิต)

6*:tZp~)G:3*q)%G"$]vwm^sl+

ลองออนไลน์!

ภารกิจที่ 2 (ตารางสูตรคูณ)

:l$*%6*tZp~)G:3q)G"]vwm^s+

ลองออนไลน์!

งาน 3 (เครื่องตรวจจับฟีโบนักชี)

l6Zp~G:"3q$t+]vGwm%):*)^s*

สิ่งนี้แสดง1/ 0สำหรับ Fibonacci / ไม่ใช่ Fibonacci ตามลำดับ

ลองออนไลน์!

ภารกิจ 4 (ผลรวมของอำนาจ)

:t^s%6*Zp~)G:3*q)G"$]vwml+

ลองออนไลน์!

ตรวจสอบ

โปรแกรมนี้อินพุตสี่สตริงและแสดงเรียงลำดับเพื่อตรวจสอบด้วยสายตาว่าพวกเขาใช้อักขระเดียวกัน

คำอธิบาย

%เป็นสัญลักษณ์ความคิดเห็น ทุกสิ่งที่ถูกต้องจะถูกละเว้น

ภารกิจ 1 (ทุกหมายเลขสามคอมโพสิต)

6*    % Input N. Multiply by 6
:     % Range [1 2 ... 6*N]. This is enough because every even number is composite,
      % so this contains at least 3*N composite numbers
t     % Duplicate
Zp    % Isprime
~     % Negate
)     % Use as index to select composite numbers, including 1, from [1 2 ... 6*N]
G:    % Push [1 2 ... N]
3*q   % Multiply by 3 and subtract 1: gives [2 5 ... 3*N-1]
)     % Pick those composite numbers. Implicitly display

ภารกิจที่ 2 (ตารางสูตรคูณ)

:     % Input N. Range [1 2 ... N]
l     % Push 1
$     % Specify that next function will take 1 input
*     % Product of array. With 1 input it produces all pair-wise products
      % Implicitly display

งาน 3 (เครื่องตรวจจับฟีโบนักชี)

l     % Push 1
6     % Push 6
Zp    % Isprime. Gives false
~     % Negate. Gives true, or 1
G:    % Push [1 2 ... N], where N is the input
"     % For each
  3q  %   3, subtract 1
  $   %   Specify that next function will take 2 inputs
  t   %   Duplicate the top two elements of the stack
  +   %   Add
]     % End
v     % Vertically concatenate the entire stack. This produces a column vector
      % with a sufficient amount of Fibonacci numbers
G     % Push input N
w     % Swap
m     % Ismember. Gives true if input is in the vector of Fibonacci numbers
      % Implicitly display

ภารกิจ 4 (ผลรวมของอำนาจ)

:     % Implicitly input N. Push [1 2 ... N]
t     % Duplicate
^     % Power, element-wise
s     % Sum of array. Implicitly display

เมื่อฉันดูความท้าทายเป็นครั้งแรกฉันคิดว่าHey MATL would be perfect for this!คุณเอาชนะฉันได้ +1
DJMcMayhem

@DJMcMayhem ขออภัยฉันมักจะตอบมาก ครั้งต่อไป ping ฉันและฉันจะละเว้นถ้าคุณกำลังทำอยู่ :-) ยังไงก็ตามทำไมไม่ไปข้างหน้า? บางทีคุณสามารถเอาชนะสิ่งนี้ได้
Luis Mendo

3
@DJMcMayhem โปรดโพสต์คำตอบด้วยเช่นกันแม้ว่าคุณจะไม่จัดการกับพวกลุย ฉันหวังว่าผู้คนจำนวนมากจะโพสต์คำตอบในภาษาที่ใช้ไปแล้วแม้ว่าพวกเขาจะไม่จัดการกับคนแรกที่ก้าวร้าว
Stewie Griffin

@stewiegriffin ฮ่าฮ่าโอเคแน่ใจ ฉันยังไม่มีคำตอบที่ถูกต้อง แต่ถ้าฉันได้หนึ่ง (และมันแตกต่างกันพอ) ฉันจะโพสต์
DJMcMayhem

7

Perl 6 , 61 bytes

{(4..*).grep(!*.is-prime)[0,3...^*>=$_*3]}#$$&+1==>X[]__oot{}
{[X*](1..$_,!0..$_).rotor($_)}#&***+-..334===>>[]^eegiimpps{}
{(1,&[+]...*>=$_)[*-!0]==$_}#$()**....334>X^_eegiimoopprrst{}
{[+]((1..$_)>>.&{$_**$_})}#!**,-....0334===X[]^eegiimoopprrst

คนที่สองกลับมา((1,2,3,4),(2,4,6,8),(3,6,9,12),(4,8,12,16))เมื่อได้รับ4

Perl 6 ไม่ได้จริงๆมีจำนวนเต็มสูงสุด 15156039800290547036315704478931467953361427680642แต่หนึ่งในสามทำงานได้ทันทีด้วยการป้อนข้อมูลของ ปัจจัยที่ จำกัด เพียงอย่างเดียวคือหน่วยความจำและเวลา

มิฉะนั้นพวกเขาทั้งหมดจะเรียกใช้ "ทันที" สำหรับอินพุตดีเกินกว่าที่จำเป็น

ลองออนไลน์


6

JavaScript (ES6), 101 100 95 93 91 ไบต์

(n,r=[],a=(y,m)=>n?y%m?a(y,++m):a(y+1,2,y==m||n--%3||r.push(y)):r)=>a(4,2,n*=3)//>....p*A&&
n=>[...Array(n)].map((r,y,m)=>m.map((s,n)=>y*++n,y+=1))//22334(,,,,===ayy)??%%::||||--uh*&&
r=(n,y=1,a=2)=>n==y||n>y&&r(n,a,y+a)//2334((((,,,,r=[]ayymmmm))))>??%%++::||--.....ppush**A
r=y=>y&&y**y+r(y-1)//22334(((((nnnn,,,,,,,,r=====[]aaaaymmmm)))))>>??%%++::||||-.....ppushA

แก้ไข: บันทึก 1 ไบต์โดยไม่รองรับ0เป็นหมายเลข Fibonacci บันทึก 5 ไบต์บวกอีก 2 ไบต์ (1 ขอบคุณ @Arnauld) โดยเปลี่ยนชื่อตัวแปร ที่บันทึกไว้ 2 ไบต์โดยการสลับ+1, และ+++=1


การแทนที่cตัวแปรที่เกิดขึ้นทั้งหมดด้วยAควรบันทึกหนึ่งไบต์
Arnauld

(ผมจะชี้ให้เห็นว่าคุณยังสามารถแทนที่dด้วยyแต่dจะไม่ได้กำหนดในรุ่นปัจจุบันดังนั้นคุณอาจต้องการที่จะแก้ไขปัญหาที่แรก)
Arnauld

ขอบคุณสำหรับ @Arnauld ชี้ให้เห็นว่า แต่ฉันจัดการเพื่อแก้ไขสิ่งขึ้นและประหยัดไบต์ต่อไปโดยเปลี่ยนชื่อไปa m
Neil

4

MATL , 30 ตัวอักษร

ชุดตัวละครที่ฉันไปด้วยคือ:

!%))*+001233::<=GGQZ\]^`pstvyy~

ฉันไม่สามารถเอาชนะคำตอบ MATL อื่น ๆ ได้ แต่ฉันสนุกกับการแก้ปัญหานี้

ภารกิจที่ 1:

หมายเลขคอมโพสิตที่สาม

4t^:QtZp~)G3*:3\1=)%!`yy+<]vGs

ลองออนไลน์!

ภารกิจที่ 2:

ตารางสูตรคูณ เป็นงานที่ง่ายที่สุดแน่นอนเนื่องจากวิธีการทำงานของ MATL

:t!*%4QZp~)G3:3\1=)`yy+<]vGs^t

ลองออนไลน์!

ภารกิจที่ 3:

เครื่องทดสอบ Fibonacci พิมพ์จำนวนเต็มบวก (1 หรือ 2) สำหรับอินพุตจริงและ 0 สำหรับอินพุตปลอม

1t`yy+tG<]vG=s%4:QZp~)3*:3\)!^

ลองออนไลน์!

ภารกิจที่ 4:

ผลรวมของพลัง

:t^s%1`yy+tG<]vG=4QZp~)3*:3\)!

ลองออนไลน์!

ฉันจะโพสต์คำอธิบายที่ละเอียดยิ่งขึ้นในภายหลัง แต่สำหรับตอนนี้คุณควรทราบว่า%เป็นตัวอักษรความคิดเห็นดังนั้นโปรแกรมจึงเป็นจริง:

4t^:QtZp~)G3*:3\1=)
:t!*
1t`yy+tG<]vG=s
:t^s

4

PowerShell , 95 94 ไบต์

( TimmyD savin 'เบคอนของฉันอีกครั้ง)

ภารกิจที่ 1:

(""..999|?{'1'*$_-match'^(?=(..+)\1+$)..'})[(0..("$args"-1)|%{$_*3})]#|$$$$===ss%``iiex!!nnnq;

ลองออนไลน์!


ภารกิจที่ 2:

($s=1.."$args")|%{"`$s|%{$_*`$_}"|iex}#0113999((((......??''''*$$$--match^===++))))\[]i!!nnnq;

ลองออนไลน์!


ภารกิจที่ 3:

!!(($i="$args")..($s=1)|?{($n=($s+=$n)-$n)-eq$i})#0113999......||?{''''**__match^+\}[""%%]``x;

ลองออนไลน์!


ภารกิจที่ 4:

"$args"..1|%{$s+="$_*"*$_+1|iex};$s#013999(((((......|??{''''$$$--match^===)))))\}[%]``i!!nnnq

ลองออนไลน์!


โอ้การทำให้เป็นสตริงนั้น"$args"แทนที่จะ$args[0]ยอดเยี่ยม ฉันจะใช้มันจากที่นี่ไป
AdmBorkBork

@ TimmyD ใช่ฉันใช้มันเพื่อการประหยัดไบต์เดียวกับทุกสิ่งที่มีพารามิเตอร์เดียว
นักเทศน์

@ TimmyD จุดดี! ฉันต้องเขียนใหม่ทั้งหมดเพื่อให้แน่ใจว่าฉันอาจกลับมาใหม่และใช้สิ่งนั้น เมื่อฉันทำทั้ง 4 อย่างเสร็จแล้วฉันก็พูดถึงการเพิ่มประสิทธิภาพ
นักเทศน์

ดีฉันหมายถึงการทำลิงค์ TIO อีกครั้งและเช่นนั้น แต่ FINE @ TimmyD ฉันจะหยุดขี้เกียจและใช้คำแนะนำที่มีน้ำใจของคุณที่ไม่ได้ทำงานเท่าที่ฉันจะทำให้มันเป็น! (แก้ไข) :-p
นักเทศน์

คุณสามารถกำจัด;งานจาก 4 โดยจัดการการคำนวณด้วย("$args"..1|%{$s+="$_*"*$_+1|iex})-(-$s)เพื่อบันทึกไบต์อื่นโดยรวม
AdmBorkBork

3

Haskell , 77 76 ตัวอักษร

m n=[[x|x<-[1..],2/=sum[1|0<-mod x<$>[1..x]]]!!y|y<-[1,4..3*n]]--2 n===y();^
s n=[(*y)<$>[1..n]|y<-[1..n]]--0112234mmm  ====[[[xxxx||<<--..]]],,/uod!!y;^
n x|x<2=1|1<3=sum(n<$>[x-1,x-2]);d y=[0|m<-[1..y],y==n m]--4[[[....]]]/o!!*^
o n=sum[x^x|x<-[1..n]]--01112234mm  n====[[[[x||<<<--....]]]],,/d$>!!yyy*();

ลองออนไลน์!

--<program>--<unused chars>เริ่มต้นสายความคิดเห็นเพื่อให้ทั้งสี่โปรแกรมที่มีรูปแบบ

ภารกิจที่ 1:

m n=[[x|x<-[1..],2/=sum[1|0<-mod x<$>[1..x]]]!!y|y<-[1,4..3*n]]

โปรแกรมที่ยาวที่สุด [x|x<-[1..],2/=sum[1|0<-mod x<$>[1..x]]]ให้ผลเป็นรายการอนันต์ของตัวเลขคอมโพสิตบวกการเริ่มต้น1ซึ่งแก้ไขการจัดทำดัชนี 0 การใช้งาน:

Prelude> m 5
[4,9,14,18,22]

ภารกิจที่ 2:

s n=[(*y)<$>[1..n]|y<-[1..n]]

การใช้งาน:

Prelude> s 5
[[1,2,3,4,5],[2,4,6,8,10],[3,6,9,12,15],[4,8,12,16,20],[5,10,15,20,25]]

ภารกิจที่ 3:

n x|x<2=1|1<3=sum(n<$>[x-1,x-2]);d y=[0|m<-[1..y],y==n m]

ผลตอบแทน[0]สำหรับความจริงและ[]เท็จ การใช้งาน:

Prelude> d 5
[0]
Prelude> d 6
[]

ภารกิจที่ 4:

o n=sum[x^x|x<-[1..n]]

การใช้งาน:

Prelude> o 5
3413

3

05AB1E , 21 ไบต์

ภารกิจที่ 1

3ÅFOL¦DâPÙï{3ôø¬¹£qåm

ลองออนไลน์!

ภารกิจที่ 2

LDâP¹ôq3m¦Ùï{3ø¬£ÅFåO

ลองออนไลน์!

ภารกิจที่ 3

3mÅF¹åqL¦DâPÙï{3ôø¬£O

ลองออนไลน์!

ภารกิจที่ 4

LDmOq3¦âPÙï{3ôø¬¹£ÅFå

ลองออนไลน์!

คำอธิบาย

สำหรับงานทั้งหมดqสิ้นสุดโปรแกรมเพื่อให้รหัสที่ตามมาไม่ถูกดำเนินการ

ภารกิจที่ 1

นี่เป็นไบต์ที่ใหญ่ที่สุด การปรับปรุงเล็กน้อยที่นี่สามารถไปได้ไกล

3ÅFO                 # sum the first 4 fibonacci numbers
    L¦               # range [2 ... above]
      Dâ             # cartesian product with itself
        P            # product
         Ù           # remove duplicates
          ï{         # sort
            3ô       # split in pieces of size 3
              ø      # transpose
               ¬     # get the first lits
                ¹£   # get the first input-nr elements of the list

ภารกิจที่ 2

L       # range [1 ... input]
 D      # duplicate
  â     # cartesian product
   P    # product
    ¹ô  # split in pieces of input size

ภารกิจที่ 3

3m      # input**3
  ÅF    # get a list of that many (+1) fibonacci numbers
    ¹å  # check if input is in that list

ภารกิจที่ 4

L     # range [1 ... input]
 D    # duplicate
  m   # elementwise power of ranges
   O  # sum

1

Ruby, 83 82 80 78 ตัวอักษร

->m{'*+-=';[*0..m-1].map{|b|(4..516).select{|p|(2...p).any?{|n|p%n==0}}[3*b]}}
->n{'()%**+--......00123456==?[[]]clmnsty{||}';(b=1..n).map{|e|b.map{|p|e*p}}}
->m{'%+-......001236bclnnpt[[]]{{||||}}';(1..e=m*m).any?{|p|(p*p-5*e).abs==4}}
->n{'%*.......023456=?[]abbceelnsty{{||||}}';((m=0)..n).map{|p|m+=p**p}[-1]-1}

หมายเหตุ: เครื่องตรวจจับหมายเลขฟีโบนักชีโดยใช้วิธีกำลังสองสมบูรณ์แบบที่อธิบายไว้ใน Wikipedia: https://en.wikipedia.org/wiki/Fibonacci_number#Recognizing_Fibonacci_number


หากคุณมีตัวละครที่จะเผาไหม้ทำไมไม่ใช้ความคิดเห็นที่ท้ายแทนสตริง? มันช่วยให้คุณประหยัด 2 ตัวอักษรต่อบรรทัด'';VS#
อเล็กซิสเซน

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