Écrivez un programme ou une fonction qui prend deux listes non vides de la même longueur en entrée et effectue les opérations suivantes:
- utilise des éléments de première liste pour obtenir des numérateurs,
- utilise des éléments de la deuxième liste pour obtenir des dénominateurs,
- affiche les fractions résultantes après simplification
(2/4=>1/2)
, séparées par des "+", - affiche "=" et le résultat de l'addition après la dernière fraction.
Exemple:
Contribution
[1, 2, 3, 3, 6]
[2, 9, 3, 2, 4]
Production
1/2+2/9+1+3/2+3/2=85/18
À propos des règles
- les éléments des listes seront des entiers positifs,
- les éléments peuvent être séparés par des espaces, par exemple:
1/2 + 2/9 + 1 + 3/2 + 3/2 = 85/18
est ok, - le retour à la ligne est autorisé,
- les listes peuvent être prises dans d'autres formats que ci-dessus, par exemple:
(1 2 3 3 6)
ou{1;2;3;3;6}
, etc., 1
peut être exprimé comme suit1/1
:- au lieu d'imprimer, vous pouvez renvoyer la chaîne appropriée,
- vous n'avez pas besoin de gérer une mauvaise entrée,
- le code le plus court gagne .
[1, 2] [2, 9] [3, 3] ...
place?Réponses:
M ,
1211 octetsIl s'agit d'un lien dyadique. En raison d'un bogue, il ne fonctionne pas comme un programme complet.
F
est également requis en raison d'un bogue.Essayez-le en ligne!
Comment ça fonctionne
la source
Ruby 2.4,
5453 caractèresGrâce à:
Rational
initialisation (-1 caractère)Ruby,
585756 caractèresExemple d'exécution:
Essayez-le en ligne!
la source
a=n.zip(d).map{|f|(f*?/).to_r};a*?++"=#{a.sum}"
dans Ruby 2.4 vous permet d'économiser 3 octets.sum
haha. De plus, je me souviens juste qu'il.map{|i,j|i.to_r/j}
est plus court d'un octet.to_f
et divisions, mais je n'ai pas pensé à diviserRational
avecFixnum
. Merci encore, @ValueInk.Mathematica, 33 octets
contribution
la source
Row@@{#/#2,"+"}
la même chose queRow[#/#2,"+"]
?Row
c'était si pratique pour des choses comme ça :)Python 3 , 104 octets
9 octets grâce à Felipe Nardi Batista.
Essayez-le en ligne!
la source
+'='+str(sum(c))
pour,'=',sum(c)
Perl 6 ,
7773 octetsEssayez-le
Essayez-le
Étendu:
la source
Clojure, 71 octets
Ouais pour les fractions intégrées!
la source
Mathematica, 61 octets
la source
JavaScript (ES6), 111 octets
Prend les listes dans la syntaxe de curry
(a)(b)
.la source
Java, 225 octets
N
etD
sont tous deuxint[]
contextualisés.J'ai réutilisé la fonction GCD de Kevin Cruijssen .
Voir et tester en ligne!
la source
Julia v0.4 +,
6653 octets-13 octets grâce à Dennis
Essayez-le en ligne!
Alternativement, si les fractions peuvent être affichées en utilisant
//
plutôt que/
, les éléments suivants fonctionnent pour 35 octets :la source
setlX , 103 octets
Crée une fonction appelée
f
où vous insérez deux listes.non golfé:
avec des variables nommées et des annotations:
setlX ne fournit pas de fonction de commentaire, alors faisons comme si nous pouvions commenter avec
%
la source
Perl 6,
72 octets65 octetsLes rationnels natifs et automatiques devraient rendre cela facile, mais la chaîne de caractères par défaut est toujours aussi décimale, nous devons donc
.nude
( nu merator et de nominator) ce qui tue notre score et rend le 1 laid :(Mise à jour: Suppression des supports inutiles, tuez plus d'espace et utilisez une carte plus intelligente. Enregistre les personnages sur la solution de Brad au prix de ne pas être un sous-marin lambda
la source
05AB1E ,
3534 octetsEssayez-le en ligne!
la source
Gelée , 31 octets
Essayez-le en ligne!
la source
PHP> = 7.1, 190 octets
Version en ligne
+14 octets pour le remplacement
return$x/$t."/".$y/$t;
par lareturn$y/$t>1?$x/$t."/".$y/$t:$x/$t;
sortien
au lieu den/1
la source
F #,
244241239 octetsEssayez-le en ligne!
la source
setlX , 62 octets
non golfé:
la source
R, 109 octets
nécessite la
MASS
bibliothèque (pour safractions
classe). la fonctiong
renvoie la sortie requise sous forme de chaîne.Essayez-le en ligne! (Lien R-violon)
la source
MATL , 32 octets
Essayez-le en ligne!
Explication
Considérez
[1, 2, 3, 3, 6]
,[2, 9, 3, 2, 4]
comme entrée.la source
TI-BASIC, 100 octets
Notez le
⁄
au début, différent de/
. Cela fait que les fractions conservent leurs formes. Il fait le travail avec des fractions négatives.Soupir . TI-BASIC est horrible avec des cordes. Si tout ce que nous avions à faire était d'imprimer les fractions, puis leur somme, le code serait:
TI-BASIC, 12 octets
Cela signifie que 88 octets de mon code sont dépensés juste pour formater la réponse! Hmph .
la source
C, 171 octets
Essayez en ligne
la source
Axiome, 212 octets
tester
la source
Casio Basic, 161 octets
Explication:
A
A
itérationsB
agit comme un compteur pour un affichage correctI
'e élément des listes 1 et 2 enregistré dansC
etD
C
/ variableD
C
/D
+E
dansE
=
etE
la source
Haskell (Lambdabot),
949186 octetsEssayez-le en ligne!
Merci @Laikoni pour les
-8
octets!Non golfé
la source
import Data.Ratio
pour%
qui n'est pas Prelude."?"++
par'?':
."/"++d
et"="++
.tail(f>>=t)++'=':(tail.t.sum)f
tail
et=<<
ent
économise encore plus: essayez-le en ligne!Google Sheets,
8381 octetsEnregistré 2 octets grâce à Taylor Scott
Les feuilles ajouteront automatiquement 2 parenthèses fermantes à la fin de la formule.
Les deux tableaux sont entrés comme l' intégralité des colonnes
A
etB
. Les lignes vides sous les entrées génèrent des erreurs.la source
))