Bei einer Eingabe werden alle Exponenten gedruckt, bei denen Basis und Potenz zur Eingabe addiert werden

20

Das ist also meine erste Herausforderung auf dieser Seite.

Die Herausforderung besteht darin, eine ganze Zahl einzugeben , die positiv ist, und die Ausgabe von (wobei die aktuelle ganze Zahl ist) in aufsteigender Reihenfolge ( bis , einschließlich n ) zu drucken . n1ni ( n - i ) iich(n-ich)ich

Beispiel

Bei Eingabe von 5 gibt das Programm Folgendes aus:

1  
8  
9  
4  
1  

14 1 + 4 = 5 2 3 2 + 3 = 5 3 2 3 + 2 = 5 4 1 4 + 1 = 5 5 0 5 + 0 = 5 ist 1 und ist 8 und ist 9 und ist 4 und ist 1 und1+4=5
232+3=5
323+2=5
414+1=5
505+0=5

Ein- und Ausgang

Die Eingabe erfolgt in Form einer positiven Ganzzahl. Es wird eine Liste von Zahlen ausgegeben, die durch Kommas oder neue Zeilen getrennt sind.

Das ist , also gewinnt der kürzeste Code.

Verkörperung der Ignoranz
quelle
5
Das Komma / Zeilenvorschub-Detail sollte weggelassen werden. Es ist hier üblich, die Ausgabe von Listen in jedem geeigneten Format zuzulassen, auch als Listen- / Array-Objekt, das von einer Funktion zurückgegeben wird
Sparr
3
Ist die Eingabe immer größer als 0 oder müssen wir uns mit 0 und Negativen auseinandersetzen?
Veskah
Die Eingänge sind immer positiv
Verkörperung der Ignoranz
6
Zwei ebenso kurze Antworten spielen keine Rolle. Wenn Sie eine Antwort annehmen möchten, wählen Sie die früheste Antwort aus. Ich empfehle jedoch dringend , mindestens ein paar Tage zu warten und würde vorschlagen, niemals eine Antwort zu akzeptieren (um mehr Einsendungen zu ermutigen).
Οurous
2
Sollte der Titel nicht "Geben Sie bei einer gegebenen Ganzzahl alle erhaltenen Potenzen mit einer Basis und einem Exponenten aus, die sich zur Eingabe addieren"?
Nicola Sap

Antworten:

6

APL (Dyalog Unicode) , 8 5 Bytes

⍳*⊢-⍳

Probieren Sie es online!

Anonymes Präfix implizite Funktion. TIO-Tests für den Bereich [1..10].

Danke @lirtosiast für 3 Bytes.

Wie:

⍳*⊢-⍳  Tacit function
      Range. n generates the vector [1..n].
  ⊢-  Subtracted from the argument. The vector is now [n-1,n-2,...,0]
⍳*     Exponentiate using the range [1..n] as base. The result is the vector
       [1^(n-1), 2^(n-2), 3^(n-3),...]
J. Sallé
quelle
2
⍳*⊢-⍳ist 5 Bytes, mit ⎕IO←1.
Lirtosiast
@lirtosiast hat eine Weile gedauert, um herauszufinden, warum das funktioniert, aber ich habe es verstanden. Vielen Dank.
J. Sallé
5

Haskell, 23 Bytes

f i=[x^(i-x)|x<-[1..i]]

Probieren Sie es online!

Alternative Version, auch 23 Bytes:

f i=(^)<*>(i-)<$>[1..i]
nimi
quelle
5

Japt, 5 Bytes

õ_p´U

Versuch es

õ         :Range [1,input]
 _        :Map
  p       :  Raise to the power of
   ´U     :  Input decremented
Zottelig
quelle
5

Perl 6 , 19 Bytes

{^$_+1 Z**[R,] ^$_}

Probieren Sie es online!

Anonymer Codeblock, der eine Nummer annimmt und eine Liste zurückgibt. Zip Exponenten der Reichweite 1 to inputund der Reichweiteinput-1 to 0

Scherzen
quelle
5

Aheui (Esotop) , 193 164 Bytes (56 Zeichen)

방빠싹받분샥퍼붇바파쟈뿌차샦히망맣여
타빠바푸투반또분뽀뿌서썪삯타삯받반타
석차샦져쌲볼어타토싻삭빠쏛ㅇ또섞썪뻐

Probieren Sie es online!

Probieren Sie es auf AVIS ( Koreanisch ); Kopieren Sie einfach den obigen Code und fügen Sie ihn ein. Drücken Sie die Starttaste, geben Sie eine Zahl ein und sehen Sie, wie sie sich bewegt. Drücken Sie auf das Symbol > _ auf der linken Seite , um die Ausgabe anzuzeigen .


Es wird nicht viel Golf gespielt, aber ich probiere es aus.

Cobaltp
quelle
Ist es möglich einen Zeichensatz zu wählen, so dass jedes Zeichen in 2 Bytes gespeichert wird?
Dienstag,
@tsh Gemäß der Aheui-Spezifikation besteht ein Aheui-Code nur aus UTF-8-Zeichen.
Kobalt
4

Pyth , 5 Bytes

_m^-Q

Probieren Sie es online!

Optimal codiert wären dies 4.106 Bytes.

_                reverse of the following list:
 m               map the following lambda d:
  ^                (N-d)**d
   -Qd             
      d
       Q         over [0,...,N-1]
Lirtosiast
quelle
3

Gelee , 5 Bytes

R*ḶU$

Probieren Sie es online!

R                [1,...,n]
 *               to the power of
  ḶU$            [0,...,n-1] reversed
Lirtosiast
quelle
2

MathGolf , 6 Bytes

rx\╒m#

Probieren Sie es online!

Scherzen
quelle
Ich habe umgekehrte Subtraktion, Multiplikation und Division implementiert, aber es sieht so aus, als ob ein umgekehrter Leistungsoperator nützlich sein könnte.
Maxb
2

Retina , 35 Bytes

.+
*
_
$$.($.'*$($.>`$*)_¶
%~`^
.+¶

Probieren Sie es online! Erläuterung:

.+
*

Konvertieren Sie die Eingabe in Unary.

_

Passen Sie jede Position an. Dies setzt dann mehrere Ersetzungsvariablen. $`wird zum linken des Streichholzes; $>`ändert dies so, dass es links ist und übereinstimmt; $.>`Ändert dies, um die Länge zu übernehmen, dh den aktuellen Index. $'In der Zwischenzeit ist das Recht des Spiels, ebenso $.'die Länge, dh der aktuelle Exponent.

$$.($.'*$($.>`$*)_¶

Erstellen Sie eine Zeichenfolge $.(plus $.'Wiederholungen von $.>`*plus _. Beispiel: Bei einem Index von 2 in einer ursprünglichen Eingabe von 5 $.'ist 3 und $.>`2, die resultierende Zeichenfolge ist also $.(2*2*2*_. Hierbei handelt es sich zweckmäßigerweise um einen Retina-Ersatzausdruck, der 2³ berechnet. Jeder String wird in einer eigenen Zeile ausgegeben.

%~`^
.+¶

Stellen Sie jeder Zeile, die von der vorherigen Stufe generiert wurde, eine Zeile .+voran, um sie in eine Ersetzungsstufe zu verwandeln, und werten Sie diese Stufe aus, um den Ausdruck zu berechnen.

Neil
quelle
2

QBasic, 35 33 Bytes

Danke @Neil für 2 Bytes!

INPUT a
FOR b=1TO a
?b^(a-b)
NEXT

Leicht erweiterte Version auf REPL.IT, da der Interpreter nicht ganz der Spezifikation entspricht.

Ausgabe

QBasic (qb.js)
Copyright (c) 2010 Steve Hanov

   5
1
8
9
4
1
steenbergh
quelle
Sparen Sie 2 Bytes, indem Sie die Liste in der richtigen Reihenfolge ausgeben! ( b^(a-b)für b=1..a)
Neil
@Neil Danke, ich habe daran gearbeitet!
Steenbergh
2

MATL , 5 Bytes

:Gy-^

Probieren Sie es online!

Erläuterung

Betrachten Sie die Eingabe 5als Beispiel.

:     % Implicit input. Range
      % STACK: [1 2 3 4 5]
G     % Push input again
      % STACK: [1 2 3 4 5], 5
y     % Duplicate from below
      % STACK: [1 2 3 4 5], 5, [1 2 3 4 5]
-     % Subtract, element-wise
      % STACK: [1 2 3 4 5], [4 3 2 1 0]
^     % Power, element-wise. Implicit display
      % STACK: [1 8 9 4 1]
Luis Mendo
quelle
2

Java, 59 Bytes

for(int i=1;a+1>i;i++)System.out.println(Math.pow(i,a-i));
Isaac
quelle
1
Willkommen bei PPCG. Es sieht so aus, als müsste "input" der vordefinierten Variablen zugewiesen werden a, was wir nicht zulassen.
Shaggy
2
Hallo, hier ist eine Lösung für Sie: n->{for(int i=0;i++<n;)System.out.println(Math.pow(i,n-i));} 60 Bytes (Code und Testfälle im Link)
Olivier Grégoire
1

Sauber , 37 Bytes

import StdEnv
$n=[i^(n-i)\\i<-[1..n]]

Probieren Sie es online!

Legt fest, $ :: Int -> [Int]dass eine Ganzzahl verwendet und die Ergebnisliste zurückgegeben wird.

$ n                // function $ of n
 = [i ^ (n-i)      // i to the power of n minus i
    \\ i <- [1..n] // for each i in 1 to n
   ]
Οurous
quelle
1

R , 34 Bytes

x=1:scan();cat(x^rev(x-1),sep=',')

Probieren Sie es online!

Giuseppe
quelle
Ist das Standard "Sep" kein Leerzeichen? Würde das nicht funktionieren?
Stuart Stevenson
1
@stuartstevenson "Die Ausgabe erfolgt in Form einer Liste von Zahlen, die durch Kommas oder neue Zeilen getrennt sind."
Giuseppe
1

05AB1E , 5 Bytes

LD<Rm

Port of Lirtosiast 's Jelly Antwort .

Probieren Sie es online aus.

Erläuterung:

L      # List in the range [1, (implicit) input integer]
       #  i.e. 5 → [1,2,3,4,5]
 D<    # Duplicate this list, and subtract 1 to make the range [0, input)
       #  i.e. [1,2,3,4,5] → [0,1,2,3,4]
   R   # Reverse it to make the range (input, 0]
       #  i.e. [0,1,2,3,4] → [4,3,2,1,0]
    m  # Take the power of the numbers in the lists (at the same indices)
       # (and output implicitly)
       #  i.e. [1,2,3,4,5] and [4,3,2,1,0] → [1,8,9,4,1]
Kevin Cruijssen
quelle
1

Lua , 43 41 Bytes

-2 Bytes dank @Shaggy

s=io.read()for i=1,s do print(i^(s-i))end

Probieren Sie es online!

ouflak
quelle
1
Ich glaube nicht, dass du das brauchst +0. scheint ohne es zu funktionieren.
Shaggy
1

R, 22 Bytes

n=scan();(1:n)^(n:1-1)

Ziemlich selbsterklärend; Beachten Sie, dass der :Operator eine höhere Priorität hat als der -Operator, sodass er n:1-1kürzer als ist(n-1):0

Wenn wir bei 0 beginnen dürfen, können wir zwei Bytes verlieren, indem wir (0:n)^(n:0)die Notwendigkeit eines -1 vermeiden.

JDL
quelle
1

Kohle , 9 Bytes

I⮌ENX⁻θιι

Probieren Sie es online! Link ist eine ausführliche Version des Codes. Erläuterung:

   N        Input as a number
  E         Map over implicit range
       ι    Current value
     ⁻      Subtracted from
      θ     First input
    X       Raised to power
        ι   Current value
 ⮌          Reverse list
I           Cast to string
             Implicitly print on separate lines
Neil
quelle