Vous devez vous inscrire pour soumettre le questionnaire !
Vous pouvez tester vos réponses sur la partie d'entraînement
Cette année, pour participer à Prologin, il faudra être né le 1er mai 1991 ou après cette date.
Écrivez une fonction prenant en argument la date de naissance d'une personne et retournant 1 si elle peut participer à Prologin cette année, 0 sinon.
Avant l'épreuve écrite, par souci d'équité, nous veillons à ce que chaque candidat ingurgite la même quantité de nourriture. Par conséquent, tous nos pains au chocolat font exactement le même poids. Cependant, cette fois-ci, l'un des N pains au chocolat dont nous disposons est plus lourd que les autres. À l'aide d'une balance à deux plateaux, vous devez le dépister, en manipulant le moins de pains au chocolat possible à chaque pesée.
Lors d'une pesée, vous manipulez trois tas de pains au chocolat : un tas sur le plateau gauche de la balance, un tas sur le plateau droit, ainsi que le tas restant, à l'extérieur de la balance. On vous demande de décrire le pire cas : celui où le pain au chocolat le plus lourd se trouve toujours dans un des plus gros tas, en indiquant à chaque pesée le nombre d'éléments qu'il vous reste à analyser.
En salle machine, il fait souvent très chaud, c'est pourquoi nous abreuvons nos candidats. Par souci de précision, nous leur permettons même de demander le nombre de centilitres de jus d'orange qu'ils souhaitent. Hélas, bien que nous ayons une quantité infinie de jus d'orange, nous ne disposons que de deux gobelets, respectivement de a et b centilitres (a < b).
Vous pouvez :
- remplir un gobelet à ras bord de jus d'orange ;
- vider un gobelet intégralement ;
- verser un gobelet dans un autre jusqu'à ce que l'un soit vide ou que l'autre soit plein.
Combien de commandes différentes comprises entre 1 et b centilitres pouvons-nous satisfaire ?
Il s'agit d'un exercice bonus : le problème est volontairement difficile, et il n'est pas nécessaire de le réussir pour être sélectionné. Mais cherchez-le quand même !
À l'issue de la finale, nous remplissons la cour de l'EPITA de mousse, de manière à relaxer nos candidats.
Pour cela, nous disposons de N bidons de volumes distincts triés dans l'ordre décroissant que nous pouvons remplir à loisir, et procédons de la manière suivante : nous remplissons la cour avec le premier bidon autant de fois qu'il est possible de le déverser intégralement sans dépasser le volume souhaité, auquel cas nous passons au deuxième, et ainsi de suite. Comme le dernier bidon a toujours une capacité d'un litre, nous pouvons réaliser tous les volumes possibles.
Si vous parvenez à trouver un volume de mousse pour lequel vous serez à même de remplir la cour avec nos bidons en effectuant moins de versements que nous, vous gagnez. Sinon, vous perdez.
On vous donne les volumes des bidons, écrivez une fonction qui retourne 1 si vous pouvez gagner, 0 sinon.