Étant donné une entrée, imprimez tous les exposants où la base et la puissance de l'entrée


20

C'est donc mon premier défi sur ce site.

Le défi est de prendre un entier d'entrée , qui sera positif, et d'imprimer, dans l'ordre croissant ( à , y compris n ), la sortie de (où est l'entier courant). n1ni(ni)i

Exemple

Étant donné l'entrée 5, le programme imprimera:

1  
8  
9  
4  
1  

14 est 1 et1+4=5
23 est 8 et2+3=5
32 est 9 et3+2=5
41 est 4 et4+1=5
50 est 1 et5+0=5

Entrée et sortie

L'entrée sera sous la forme d'un entier positif. La sortie sera une liste de nombres, délimitée par des virgules ou de nouvelles lignes.

C'est le , donc le code le plus court l'emporte.


5
le détail virgule / nouvelle ligne doit être omis, il est normal ici de laisser la sortie des listes dans n'importe quel format pratique, y compris en tant qu'objet liste / tableau renvoyé par une fonction
Sparr

3
L'entrée est-elle toujours supérieure à 0 ou devons-nous faire face à 0 et aux négatifs?
Veskah

Les entrées seront toujours positives
Incarnation de l'ignorance

6
Deux réponses tout aussi courtes n'ont pas d'importance. Si vous souhaitez accepter une réponse, choisissez celle qui a été publiée le plus tôt possible. Cependant, je recommande fortement d' attendre au moins quelques jours et je suggère de ne jamais accepter de réponse (pour encourager plus de soumissions).
Novurous

2
Le titre ne devrait-il pas être "Étant donné un entier , imprimer tous les pouvoirs obtenus avec une base et un exposant qui résument à l'entrée"?
Nicola Sap

Réponses:


6

APL (Dyalog Unicode) , 8 5 octets

⍳*⊢-⍳

Essayez-le en ligne!

Fonction tacite de préfixe anonyme. Tests TIO pour la plage [1..10].

Merci @lirtosiast pour 3 octets.

Comment:

⍳*⊢-⍳  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),...]

2
⍳*⊢-⍳est de 5 octets, en utilisant ⎕IO←1.
lirtosiast

@lirtosiast m'a pris un certain temps pour comprendre pourquoi cela fonctionne, mais je l'ai compris. Merci.
J.Sallé


5

Japt, 5 octets

õ_p´U

Essayez-le

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


5

Aheui (ésotope) , 193 164 octets (56 caractères)

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

Essayez-le en ligne!

Essayez-le sur AVIS ( coréen ); copiez et collez le code ci-dessus, appuyez sur le bouton Démarrer, saisissez un nombre, voyez comment il se déplace. Pour voir la sortie, appuyez sur l' icône > _ sur le côté gauche.


Ce n'est pas beaucoup joué au golf, mais j'essaie.


Est-il possible de choisir un jeu de caractères, de sorte que chaque caractère soit stocké sur 2 octets?
tsh

@tsh Selon la spécification Aheui , un code Aheui se compose uniquement de caractères UTF-8.
cobaltp











2

Rétine , 35 octets

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

Essayez-le en ligne! Explication:

.+
*

Convertissez l'entrée en unaire.

_

Faites correspondre chaque position. Cela définit ensuite plusieurs variables de remplacement. $`devient la gauche du match; $>`modifie ceci pour être la gauche et correspondre; $.>`modifie cela pour prendre la longueur, c'est-à-dire l'indice actuel. $'en attendant, c'est le droit du match, tout $.'comme la longueur, c'est-à-dire l'exposant actuel.

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

Créez une chaîne $.(plus $.'répétitions de $.>`*plus _. Par exemple, pour un index de 2 dans une entrée d'origine de 5, $.'est 3 et $.>`vaut 2, de sorte que la chaîne résultante est $.(2*2*2*_. C'est commodément une expression de remplacement de la rétine qui calcule 2³. Chaque chaîne est sortie sur sa propre ligne.

%~`^
.+¶

Pour chaque ligne générée par l'étape précédente, préfixez-lui une ligne .+, en la transformant en une étape de remplacement, et évaluez cette étape, calculant ainsi l'expression.


2

QBasic, 35 33 octets

Merci @Neil pour 2 octets!

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

Version légèrement étendue sur REPL.IT car l'interpréteur n'est pas entièrement à jour.

Production

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

   5
1
8
9
4
1

Économisez 2 octets en affichant la liste dans le bon ordre! ( b^(a-b)pour b=1..a)
Neil

@Neil Merci, je l'ai travaillé!
steenbergh




2

MATL , 5 octets

:Gy-^

Essayez-le en ligne!

Explication

Considérez la saisie 5comme exemple.

:     % 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]

2

Java, 59 octets

for(int i=1;a+1>i;i++)System.out.println(Math.pow(i,a-i));

1
Bienvenue chez PPCG. Il semble que cela nécessite l'attribution d'une "entrée" à la variable prédéfinie a, ce que nous n'autorisons pas.
Shaggy

2
Bonjour, voici un correctif pour vous: n->{for(int i=0;i++<n;)System.out.println(Math.pow(i,n-i));} 60 octets (code et cas de test dans le lien)
Olivier Grégoire

1

Nettoyer , 37 octets

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

Essayez-le en ligne!

Définit la $ :: Int -> [Int]prise d'un entier et le renvoi de la liste des résultats.

$ 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
   ]


1

05AB1E , 5 octets

LD<Rm

Réponse de Jelly du port de @lirtosiast .

Essayez-le en ligne.

Explication:

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]


1

R, 22 octets

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

Assez explicite; notez que l' :opérateur a une priorité plus élevée que l' -opérateur, ce qui n:1-1est plus court que(n-1):0

Si nous sommes autorisés à commencer à 0, nous pouvons perdre deux octets en (0:n)^(n:0)évitant la nécessité d'un -1.


1

Fusain , 9 octets

I⮌ENX⁻θιι

Essayez-le en ligne! Le lien est vers la version détaillée du code. Explication:

   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


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.