Pré en bulles
Bonjour à tous ! Je transfers quelques-uns de mes défis et regrouper dans plusieurs billets certains défis que j’ai déjà proposé par le passé.(j’en proposerai de nouveaux par la suite.)
Le but est de s’amuser, de se creuser un peu la tête et sortir des sentiers battus. (même si le code n’est ou ne peut pas être propre, tant que ça valide les contraintes, c’est bon !)
Pour ce premier défis, je vais vous proposer (de nouveau pour certains) un défis simple comme bonjour … ou presque.
Le défis
Ecrire une fonction qui permet de vérifier si un entier (sur un long) est premier.
- Si le nombre est premier => retourner 1
- Si le nombre n’est pas premier (1 n’est pas premer) => retourner 0
- Si le nombre est strictement inferieur à 1, retourner une valeur négative.
Bref rien de bien compliqué, c’est même un cas très scolaire lors de l’apprentissage de n’importe quel langage.
Mais on va le pimenter en rajoutant quelques contraintes de rien du tout.
- Un code en C (le défis peut se faire dans d’autres langage mais il faudrait sans doute d’autres contraintes spécifiques)
- Interdiction à toutes librairies non standard.
- Seul la fonction standard
printf
est autorisée - Interdiction au
#define
et#pragma
- Interdiction d’utiliser les mots
asm
,for
,goto
,neuneu
,while
,if
,switch
(3 fois rien) - Interdiction d’utiliser
?
- Interdiction aux opérateurs arithmétiques (donc pas de
+
,-
,*
,/
,%
) - Seul l’opérateur d’affectation
=
est autorisé (pas de++
,--
,+=
,*=
,etc…) - Tout ce qui n’est pas interdit est autorisé.
et même après avoir enlever une grosse partie du langage… c’est toujours possible et il y a même plusieurs solutions différentes pour y parvenir ! (ce qui signifie que l’on peut encore rajouter de nouvelles contraintes ! )
Et pas de spoil de préférence hein ?
Bonne chance à tous !