#include <iostream>
using namespace std;
int getA(int rok)
{
if (rok <= 1600)
{
return 11;
}
if (rok <= 1700)
{
return 12;
}
if (rok <= 1800)
{
return 13;
}
if (rok <= 1900)
{
return 14;
}
if (rok <= 2000)
{
return 15;
}
if (rok <= 2100)
{
return 16;
}
if (rok <= 2200)
{
return 17;
}
if (rok <= 2300)
{
return 18;
}
if (rok <= 2400)
{
return 19;
}
if (rok <= 2500)
{
return 20;
}
if (rok <= 2600)
{
return 21;
}
return 0;
}
int getB(int rok)
{
if (rok <= 1600)
{
return 1;
}
if (rok <= 1700)
{
return 2;
}
if (rok <= 1800)
{
return 3;
}
if (rok <= 1900)
{
return 4;
}
if (rok <= 2000)
{
return 5;
}
if (rok <= 2100)
{
return 6;
}
if (rok <= 2200)
{
return 7;
}
if (rok <= 2400)
{
return 8;
}
if (rok <= 2500)
{
return 9;
}
if (rok <= 2600)
{
return 10;
}
return 0;
}
int wielkanoc(int rok)
{
int a, b, c, d, e;
a = rok / 19;
b = rok / 4;
c = rok / 7;
d = (a * 19 + getA(rok)) / 30;
e = (2 * b + 4 * c + 6 * d + getB(rok)) / 7;
if ((d == 29 && e == 6) ||
(d == 28 && e == 6))
{
d -= 7;
}
return d + e;
return 0;
}
int main()
{
int rok;
int data;
cout << "Podaj rok (1600-2600)\n" << endl;
cin >> rok;
if ((rok < 1600) || (rok > 2600))
{
cout << "Podany rok nie jest w zakresie 1600-2600.\n" << endl;
return 0;
}
data = 22 + wielkanoc(rok);
if (data > 31)
{
cout << "Wielkanoc przypada kwietnia\n" << data / 31 << endl;
}
else
{
cout << "Wielkanoc przypada marca\n" << data << endl;
}
return 0;
}
Zadanie
Napisz program, który dla danego roku wyznaczy najwcześniejszy, następujący po nim rok,
w którym Wielkanoc wypadnie w obu kościołach w tym samym dniu. (Kościół rzymskokatolicki - kalendarzem gregoriańskim, Kościół
wschodni - kalendarzem juliańskim)
Wejście
W pierwszym wierszu standardowego wejścia jest liczba całkowita Z (1 Z 1000) oznacza-
jąca liczbę testów. W każdym z kolejnych Z wierszy standardowego wejścia jest jeden test –
liczba całkowita z zakresu [1600-2690] oznaczająca rok.
Wyjście
Standardowe wyjście powinno w kolejnych Z wierszach zawierać odpowiedzi dla kolejnych
testów. Odpowiedź stanowi pojedyncza liczba całkowita większa od danej oznaczająca naj-
bliższy rok, w którym Wielkanoc wypadnie w obu kościołach w tym samym dniu.
Przykład
Dla następujących danych wejściowych:
3
2013
2014
2015
Program powinien zwrócić w wyniku:
2014
2017
2017
Czy ktoś może pomóc zrobić ten plik