Programmer en oCamL les 2 fonctions suivantes :
- La fonction
nombreDeUn donnée n : entier positif ou nul resultat : entier
qui calcule le nombre de 1 dans l'écriture binaire de n.
- Une fonction rendant la liste des entiers inférieurs à un certain nombre qui sont des 2-palindromes (on pourra définir des fonctions auxiliaires mais le style de programmation sera impérativement fonctionnel).
Un nombre est 2-palindrome si son écriture en base 2 est la même qu'elle soit écrite de gauche à droite ou de droite à gauche. Plus précisément, si n=0, n est un 2-palindrome sinon n=somme pour i vaiant de 0 à k des ai.2^i, avec a0,a1,...,ak dans {0,1} et ak=1, et n est un 2-palindrome si ai=ak-i, pour tout entier i dans {0,...,k}. (Bien entendu, tous les i sont en indice, même le k-i à la fin).
Bonne chance à tous les informaticiens
