Bonsoir tous ,
je trouve sur internet le sujet suivant :
je décide de l'appliquer à un de mes programmes :1 Si l'année est divisible par 4, passez à l'étape 2. Dans le cas contraire, passez à l'étape 5.
2 Si l'année est divisible par 100, passez à l'étape 3. Dans le cas contraire, passez à l'étape 4.
3 Si l'année est divisible par 400, passez à l'étape 4. Dans le cas contraire, passez à l'étape 5.
4 L'année est une année bissextile (elle a 366 jours).
5 L'année n'est pas une année bissextile (elle a 365 jours).
Probléme : l'année 2010 ressort comme année bisextile alors qu'elle ne l'était pas !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 if(!(year % 4)) { if(!(year % 100)) { if(!(year % 400)) {leap=true;} else {leap=false;} } else {leap=true;} } else {leap=false;}
Est ce dû à mon interprétation de l'algorythme ??
Ce qui me choque c'est que la première condition devrait être suffisante pour donner le bon résultat ; je soupçonne un comportement non prévu mais lequel ?
Partager