Tâche
Étant donné deux entiers positifs, affichez le nombre de portages nécessaires pour les additionner ensemble en long addition dans la base 10.
Exemples
¹¹¹ <-- carries
999
+ 1
----
1000
Trois portages sont nécessaires.
¹
348
+ 91
----
439
Un portage est nécessaire.
Cas de test
999, 1 -> 3
398, 91 -> 1
348, 51 -> 0
348, 52 -> 2
5, 15 -> 1
999, 999 -> 3
505, 505 -> 2
Notation
C'est du code-golf . La réponse la plus courte en octets l'emporte. Des échappatoires standard s'appliquent.
code-golf
arithmetic
Leaky Nun
la source
la source
190192, 90909
(a une pause dans les portages).9+9
vous donne18
, mais la somme des chiffres est9+9-10+1
parce qu'il y a un report.repr
ajout d'unL
pour les nombres ci2**63-1
- dessus ?Réponses:
Mathematica,
4639 octetscontribution
-7 octets de JungHwan
la source
JavaScript (ES6), 50 octets
Correctionde la solution volée aux ovulesExplication
Porter l'explication
la source
348 , 52
devrait être2
C (gcc) , 65 octets
Essayez-le en ligne!
la source
Gelée ,
13 12 119 octets-1 octet en portant la réponse mathématique de Jenny_mathy .
-2 octets de plus par un meilleur golf: p
Voir la suite de tests .
Comment?
Ma solution à 12 octets ...
Un lien monadique prenant une paire d'entiers et renvoyant le nombre de portées sous forme d'entier.
Il y a probablement un chemin plus court cependant!Il y avait!Essayez-le en ligne! ou consultez la suite de tests .
Comment
la source
D
etS
...Python , 48 octets
Essayez-le en ligne!
Pour chaque valeur de position
m=1, 10, 100, ..., 10**99
, vérifie s'il y a un report à cette valeur de position. Le contrôle de débordementa%m+b%m>=m
est raccourci à~a%m<b%m
.Une variante plus agréable de 45 octets où flotte
a
etb
rétrograde à la placese heurte malheureusement à des problèmes de précision de flottement.
la source
a+b<m
votre condition de résiliation?<=
ce soit plus long.1e99and
est méchant.JavaScript (ES6),
5345 octetsSauvegardé 1 octet en ajoutant une itération supplémentaire de ne rien faire pour les transporter à la place de 1. Sauvegardé 7 octets en s'appropriant la vérification de report de @ xnor. J'avais aussi une version plus élégante de 45 octets mais elle souffre d'une imprécision en virgule flottante; cela fonctionnerait très bien traduit dans une langue avec une arithmétique décimale exacte:
la source
Python 2 , 55 octets
Essayez-le en ligne!
la source
05AB1E ,
1110 octetsEssayez-le en ligne!
la source
|DO‚€SOÆ9÷
pour 10 octets.Neim , 10 octets
Explication:
Essayez!
Solution alternative, également 10 octets:
Explication:
Essayez!
la source
PHP> = 7.1, 81 octets
-2 Octets suppression de
|0
la boucle court Dans ce cas , jusqu'à$i
c'est -INF
Cas de test
la source
$i
devient-ilINF
?1.0E+309
est la premièreINF
valeur Essayez-le en ligne!Braingolf , 20 octets
Essayez-le en ligne!
Utilise la même méthode que tout le monde.
J'aurais pu économiser un octet ou 2 si j'avais eu la prévoyance de permettre
d
d'utiliser le modificateur gourmand, alors j'aurais pu le remplacerd<d
par&d
ah bien, la prochaine fois.Explication
la source