Katas and exercices by Denis Pasin ZARATAN during THP-NEXT training programme
Dans le langage de ton choix:
Écrire 3 fonctions qui calculent la somme des nombres dans une liste utilisant 3 façons différentes
(while
, each
, recursion
en ruby)
Écrire une fonction qui combine deux listes en une seule en alternant les éléments.
Par exemple, combine([:a, :b, :c], [1, 2, 3])
doit renvoyer [:a, 1, :b, 2, :c, 3]
.
Écrire une fonction qui calcule les 100 premiers nombres de Fibonacci.
Fibonacci commence avec 0
et 1
et chaque nombre suivant est calculé comme étant la somme des deux précédents.
Le début de la liste sera donc: [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, …]
.
Écrire une fonction qui prend en argument une liste de nombres non-négatifs puis les arrange de façon a faire le plus grand nombre possible.
Par exemple: big([50, 2, 1, 9])
doit donner: 95021
Pro-tip: [3, 34, 302, 50, 31]
est un meilleur test que celui ci-dessus.
Écrire une fonction qui affiche toutes les possibilités de faire 100 avec les nombres 1 2 3 4 5 6 7 8 9 dans cet ordre
en mettant entre eux seulement des -
, +
ou en collant les nombres.
Par exemple: 1 + 2 + 34 – 5 + 67 – 8 + 9
(= 100)
Je veux une app rails qui me calcule les 5 stations de velib les plus proches du bureau de THP et le nombre de vélos disponibles.
API Url: http://api.citybik.es/v2/
Une attention particulière sera portée aux tests et au fait de ne pas bouriner l'API à chaque request. Le système doit être quasi instantanné la plupart du temps.
- bonus: Je veux un bouton refresh qui raffraichi les données sans recharger la page.
- extra bonus: Je voudrais pouvoir spécifier l'addresse de départ.
Hop ! Cet exo cherche à voir comment tu te débrouilles avec des langages que tu ne connais pas.
En OCaml je cherche à faire un programme simple.
Je cherche à créer un simulateur de liste chaînée (https://fr.wikipedia.org/wiki/Liste_cha%C3%AEn%C3%A9e).
Je veux donc les fonctions:
init()
qui retourne une liste videadd(e)
qui retourne la liste avec l'élément ajouté au début de la listeremove(e)
qui parcours toute la liste et retourne la liste sans l'élément e (si il est là plusieurs fois il faut l'enlever plusieurs fois)- bonus
sort()
trie la liste (extra-bonus faire ça en O(n.ln(n)))
IMPORTANT Tout ceci doit être fait sans utiliser une seule boucle (while
et for
sont strictement interdits).
Les reccursions sont donc obligatoires.