Bonsoir !
Je débute dans le C et j'me suis acheté un p'tit livre d'algo et ohhh grande surprise, certains exos ne sont pas corrigés.
Voila pour la petite histoire dont tout le monde se fou...
Je suis tombé sur un exo qui medans la mesure où je ne vois absolument pas comment le résoudre. Je me suis donc dit qu'on pouvait peut être essayer de le faire ensemble, si cela ne vous dérange pas trop
.
Voici l'énoncé:
Les N personnes du couloir de N chambres contenant chacune 1 ampoule se livrent à un jeu bizard. Chacun tour à tour change l'état des ampoules de certaines chambres : s'il trouve une ampoule allumée, il l'étein, et s'il trouve une ampoule éteinte, il l'allume.
La première personne change l'état de toutes les ampoules (qui étaient tout éteintes), la deuxième change l'état d'une ampoule sur deux, le troisième une ampoule sur trois, le quatrième une ampoule sur 4 etc... Et ce jusqu'à la dernière personne.
Écrivez une fonction qui prend en argument le nombre de personnes et de chambres (il y a autant de chambres que de personnes) N et un numéro d'ampoule A, et qui renvoie 1 si l'ampoule choisie à la fin du jeu est allumée, 0 sinon.
(On attendra donc en entrée deux entiers:
N, le nombre personnes(qui est égal au nombre de chambres)
A, le numéro de l'ampoules. 1 <= A <= N)
--------------------------------------------------
J'ai commencé à préparer le terrain:
ATTENTION, je ne veux pas que vous me le fassiez! je veux juste essayer de trouver grâce à votre aide. Il se peut qu'il y ai certaines notions que je ne connaisse pas encore bien. Dans ce cas j'essaierait petit à petit de me référer à des cours sur le net
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #include <stdio.h> int ampoules_on(int n, int a) { //pour le moment c'est le flou totale ici, je vais essayer de comprendre grace à votre aide. } int main() { int n,a,res; scanf("%d%d", &n, &a); res = ampoule_on(n,a); printf("%d\n",res); return 0; }.
Partager