Ceci est pour le projet Euler 19. J'ai à peu près figuré le code, mais ma sortie est +1 pour une raison quelconque.Euler 19 Sortie
#include <stdio.h>
#define SIZE 12
int main(void)
{
int year;
int month;
int daysinmonths[SIZE] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int currentday = 365; /* Account for 1900 */
int sundaycount = 0;
for (year = 1901; year <= 2000; year++) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
daysinmonths[1] = 29;
}
for (month = 0; month < SIZE; month++) {
if (currentday % 7 == 0)
sundaycount++;
currentday += daysinmonths[month];
}
}
printf("%d Sundays as the first of a month from 1901 to 2000 \n", sundaycount);
}
Ce serait bien si vous avez décrit ce que Euler 19 est, pour sauver tout le monde une recherche. Aussi, que signifie "ma sortie est +1"? –
La sortie est supposée être 171, mais j'ai obtenu 172, donc +1. Euler 19 nous demande de trouver combien de dimanches sont les premiers du mois de 1901 à 2000. – kamisama
La première fois que vous rencontrez une année bissextile, vous définissez le nombre de jours de février à 29. Où la réglez-vous sur 28? –