ou are given the following information, but you may prefer to do some research for yourself.
How many Sundays fell on the first of the month during the twentieth century (1 Jan 1901 to 31 Dec 2000)?
cevap : 171
Derleme ortami Visual studio community c++
// project euler problem 19
// yasin tasan --> nov 2016
#include "stdafx.h"
#include "conio.h"
int main()
{
unsigned int i = 0;
unsigned int mount_counter = 1;
unsigned int year_counter = 1900;
unsigned int sunday_counter = 0;
while (year_counter < 2001)
{
printf("----------------------------------------------------------------------");
printf("\n");
printf("%d yili analizi:\n", year_counter);
while (mount_counter < 13)
{
printf("%d yili %d. ay pazar gunleri:\n", year_counter, mount_counter);
if (i != 0)
{
printf("%d\n", i);
if (i==1 && year_counter >=1901)
{
sunday_counter++;
}
}
while (i<31)
{
i = i + 7;
if (i<=31)
{
printf("%d\n", i);
if (i == 1 && year_counter >= 1901)
{
sunday_counter++;
}
}
if (((mount_counter == 1) || (mount_counter == 3) || (mount_counter == 5) || (mount_counter == 7) || (mount_counter == 8) || (mount_counter == 10) || (mount_counter == 12)) && i>=31) // 31 ceken aylar
{
i = i % 31;
break;
}
if (((mount_counter == 4) || (mount_counter == 6) || (mount_counter == 9) || (mount_counter == 11)) && i>=30) // 30 ceken aylar
{
i = i % 30;
break;
}
if ( (mount_counter == 2) && (i >= 29) && (year_counter%4==0) && (year_counter != 1900) ) // artik yillardaki subat
{
i = i % 29;
break;
}
else if ( (mount_counter == 2) && i>28 ) // subat
{
i = i % 28;
break;
}
}
mount_counter++;
} // while while (mount_counter < 13)
mount_counter = 1;
year_counter++;
}
printf("ayin 1'ine denk gelen pazar gunleri sayisi: %d", sunday_counter);
_getch();
return 0;
}