> Input
> Input
>> 1²
>> (3]
>> 1%L
>> L=2
>> Each 5 4
>> Each 6 7
>> L⋅R
>> Each 9 4 8
> {0}
>> {10}
>> 12∖11
>> Output 13
Probieren Sie es online!
∅
Wie es funktioniert
Es ist nicht überraschend, dass es fast identisch mit den meisten anderen Antworten funktioniert: Es wird eine Liste von Zahlen erstellt und jede mit dem Argument auf den inversen Modul überprüft.
Wenn Sie mit der Programmstruktur von Whispers vertraut sind, können Sie jederzeit zur horizontalen Linie springen. Wenn nicht: Whispers arbeitet im Wesentlichen zeilenweise ab der letzten Zeile. Jede Zeile wird als eine von zwei Optionen eingestuft. Entweder ist es eine Nulllinie oder es ist eine Operatorlinie .
>
> Input
> {0}
> {0}
{ 0 }> Input
>>
>> 1²
>> (3]
²
n → n2>> 1²
12
Normalerweise funktionieren Operatorzeilen nur mit Zahlen als Referenz. Möglicherweise haben Sie jedoch die Zeilen >> L=2
und bemerkt >> L⋅R
. Diese beiden Werte L
und R
werden in Verbindung mit Each
Anweisungen verwendet. Each
Anweisungen funktionieren, indem zwei oder drei Argumente als numerische Referenzen verwendet werden. Das erste Argument (z. B. 5
) ist eine Referenz auf eine Operatorzeile, in der eine Funktion verwendet wird, und die restlichen Argumente sind Arrays. Anschließend iterieren wir die Funktion über das Array, wobei L
und R
in der Funktion die aktuellen Elemente in den Arrays darstellen, über die iteriert wird. Als Beispiel:
A = [ 1 , 2 , 3 , 4 ]B = [ 4 , 3 , 2 , 1 ]f( x , y) = x + y
> [1, 2, 3, 4]
> [4, 3, 2, 1]
>> L+R
>> Each 3 1 2
Each
C= [ ( 1 , 4 ) , ( 2 , 3 ) , ( 3 , 2 ) , ( 4 , 1 ) ]f( x , y)D = [ f( 1 , 4 ) , f( 2 , 3 ) , f( 3 , 2 ) , f( 4 , 1 ) ] = [ 5 , 5 , 5 , 5 ]
Probieren Sie es online!
Wie dieser Code funktioniert
Wir arbeiten kontraintuitiv mit der Arbeitsweise von Whispers und beginnen mit den ersten beiden Zeilen:
> Input
> Input
xyx2A : = [ 1 . . . x2]
>> 1%L
>> L=2
>> Each 5 4
>> Each 6 7
>> Each 5 4
B : = [ i%x|i ∈ A ]ein%beinb
>> Each 6 7
BC: = [ ( i%x ) = y|i ∈ A ]
x = 5 , y= 2A = [ 1 , 2 , 3 , . . . , 23 , 24 , 25 ]B = [ 0 , 1 , 2 , 1 , 0 , 5 , 5 , . . . , 5 , 5 ]C= [ 0 , 0 , 1 , 0 , 0 , . . . , 0 , 0 ]
Wir springen dann runter zu
>> L⋅R
>> Each 9 4 8
Each
>> L⋅R
EINCEINCE
Eich= { 0EINichCich= 0Cich= 1
0xy0>> {10}
{ 0 }