Dans une longue multiplication , après avoir multiplié les nombres, vous vous retrouvez avec les produits partiels, dans ce défi, vous sortirez ces produits partiels.
Parce que la multiplication longue est longue, pour compenser votre code devra être aussi court que possible.
Exemples
34, 53
102, 1700
48, 38
384, 1440
361, 674
1444, 25270, 216600
0, 0
0
1, 8
8
Caractéristiques
- L'entrée / sortie peut être dans n'importe quel format raisonnable tel qu'un tableau, une chaîne séparée par des virgules (ou tout autre délimiteur qui n'est pas un chiffre), une liste, des arguments de fonction, etc.
- Les produits partiels doivent être en ordre croissant.
- S'il s'agit d'un produit partiel
0
, vous pouvez choisir de le sortir ou non.
C'est le code-golf donc le code le plus court en octets gagne!
code-golf
arithmetic
Downgoat
la source
la source
12, 102
? La plupart des réponses semblent revenir24, 0, 1200
.24, 0, 1200
va bien. Je préciserai dans le postRéponses:
Gelée, 10 octets
Essayez-le en ligne!
Comment ça fonctionne
la source
Pyth, 12 octets
Suite de tests
Prend la nouvelle ligne d'entrée séparée, par exemple
Explication:
la source
JavaScript (ES7), 48 octets
ES6 (56 octets)
Explication
Renvoie un tableau de produits partiels sous forme de nombres.
Tester
Testez les utilisations
Math.pow
au lieu de**
pour le faire fonctionner dans les navigateurs standard.Afficher l'extrait de code
la source
Lua,
7268 octetsla source
APL, 21 octets
Il s'agit d'une fonction dyadique qui accepte des entiers à gauche et à droite et renvoie un tableau. Pour l'appeler, affectez-le à une variable.
Explication:
la source
⍎¨⍕
est assez intelligent.05AB1E , 15 octets
Code:
Explication:
la source
Pyth, 26 octets
Cela définit une fonction
c
telle qu'elle accepte des2
arguments et la fonction imprime les produits partiels.la source
MATL , 18 octets
Le compilateur (5.1.0) fonctionne dans Matlab et dans Octave.
Chaque numéro est entré sur une ligne distincte.
Exemple
Explication
la source
Haskell,
605754 octets5 octets de moins (déposez le
.show
) si je peux prendre le deuxième nombre sous forme de chaîne.Exemple d'utilisation:
g 361 674
->[1444,25270,216600]
.Multipliez chaque chiffre de l'inverse de
y
avecx
et mettez à l'échelle10^i
oùi = 0,1,2,...
.Edit: Merci à @Mauris pour 3 octets!
la source
(\b->(x*10^b*).read.pure)
.Julia,
5049 octetsIl s'agit d'une fonction qui accepte deux entiers et renvoie un tableau d'entiers.
La
digits
fonction renvoie un tableau des chiffres de l'entier d'entrée dans l'ordre inverse. Nous obtenons l'index, les paires de valeurs en utilisantenumerate
et calculons les produits partiels comme la première entrée multipliée par les chiffres multipliés par 10 augmentée à la puissance de l'index du chiffre - 1.Enregistré un octet grâce à Dennis!
la source
Python 2, 61
la source
CJam,
19 ans17 octetsPrend l'entrée avec le premier élément étant un entier et le second une chaîne (par exemple
34 "53"
). Les suggestions sont les bienvenues, car je suis sûr qu'elles peuvent être plus courtes. Merci à Dennis d'avoir économisé deux octets.Essayez-le en ligne.
Explication
la source
~~A@#**
enregistre quelques octets.Haskell, 37 octets
Pas de stringification, juste de l'arithmétique. Ajoute récursivement le plus petit produit partiel au reste, où le dernier chiffre de
b
est tronqué et un multiplicateur de 10 est appliqué. La priorité de l'opérateur fonctionne bien.la source
𝔼𝕊𝕄𝕚𝕟, 11 caractères / 23 octets (non concurrentiel)
Try it here (Firefox only).
Trouvé un bug lors du codage de la solution à ce problème ...
Explication
la source
Japt , 28 octets
Explication:
la source
ApY+1 /10
place deApY
, carAp0
(qui est 10 ^ 0) donne 100. Je suppose que c'est pour la raison d'autoriser une mise au carré rapide avecAp
, mais0
ne signifie pas "pas d'arguments". Plz fix, Eth.Python 2, 42 octets
Pas de stringification, juste de l'arithmétique. Ajoute récursivement le plus petit produit partiel au reste, où le dernier chiffre de
b
est tronqué et un multiplicateur de 10 est appliqué.la source