DIFFICULTE
LIMITE DE MEMOIRE
1000 ko
LIMITE DE TEMPS
1000 ms
Énoncé
Dans une mise en scène imaginaire, réalisée pour les seuls besoins de l'exercice, les N gardes du couloir de N cellules d'une prison dans lesquelles sont enfermés N prisonniers se livrent à un jeu étrange avant de partir le soir. Chacun, tour à tour, va changer l'état des portes de certaines cellules : s'il trouve une porte ouverte, il la ferme, et réciproquement s'il trouve une porte fermée, il l'ouvre. Le premier garde change l'état de toutes les portes, le deuxième change l'état d'une porte sur deux (c'est-à-dire des portes 2, 4, 6, 8...), le troisième une porte sur trois (3, 6, 9...). Ce processus se répète jusqu'au dernier garde. Écrivez une fonction qui prend en argument le nombre de gardes (et donc de cellules et de prisonniers) N et un numéro de prisonnier P, et qui renvoie 1 s'il pourra s'échapper le lendemain, 0 sinon.
Contraintes
1 <= N <= 1000000000 où N est le nombre de gardes (qui est égal au nombre de prisonniers).
Entrée
Deux entiers, séparés par un espace :
- N, le nombre de gardes (qui est égal au nombre de prisonniers)
- P, le numéro du prisonner considéré. 1 <= P <= N
Sortie
Un entier :
- 0 si le prisonnier reste enfermé
- 1 si le prisonnier peut sortir
EXEMPLE(S) D'ENTREE/SORTIE
Exemple 1
en entrée ...
10 1 |
1 |
Exemple 2
en entrée ...
100 36 |
1 |





