#include <stdio.h>
#include <stdlib.h>
int main()
{
int jakiDzienPierwszego(int pierwszyStycznia, int rok){
int jakiDzien;
jakiDzien = (pierwszyStycznia + 366*ilePrzestepnych(rok) + 365*(rok - ilePrzestepnych(rok)))%7;
return jakiDzien;
}
int ilePrzestepnych(int rok){
int i;
int ilePrzestepnych = 0;
for(i = 0; i < rok - 1600; i++){
if(czyPrzestepny(i) == 1)
ilePrzestepnych++;
}
return ilePrzestepnych;
}
int czyPrzestepny(int rok){
if(rok == 0 || (rok%4 == 0 && rok%400 == 0) || (rok%4 == 0 && rok%100 != 0))
return 1;
return 0;
}
void wypiszPiatki(int pierwszyStycznia, int rok){
puts("W danym roku piatki trzynastego beda w tych miesiacach:"); switch(jakiDzienPierwszego(pierwszyStycznia, rok)){
case 0:
if(czyPrzestepny(rok) == 1)
puts("Wrzesien oraz grudzien."); else
break;
case 1:
if(czyPrzestepny(rok) == 1)
else
puts("Wrzesien oraz grudzien."); break;
case 2:
if(czyPrzestepny(rok) == 1)
puts("Marzec oraz listopad."); else
break;
case 3:
if(czyPrzestepny(rok) == 1)
puts("Luty oraz sierpien."); else
puts("Luty, marzec oraz listopad."); break;
case 4:
if(czyPrzestepny(rok) == 1)
else
break;
case 5:
if(czyPrzestepny(rok) == 1)
else
break;
case 6:
if(czyPrzestepny(rok) == 1)
puts("Styczen, kwiecien oraz lipiec"); else
puts("Styczen oraz pazdziernik"); break;
}
}
int main (void){
int pierwszyStycznia = 1;
int rok;
puts("Podaj rok, a ja wypisze jego piatki 13-stego"); wypiszPiatki(pierwszyStycznia, rok);
return 0;
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KIAppbnQgbWFpbigpCnsKICAgaW50IGpha2lEemllblBpZXJ3c3plZ28oaW50IHBpZXJ3c3p5U3R5Y3puaWEsIGludCByb2spewogICAgICAgIGludCBqYWtpRHppZW47CiAgICAgICAgamFraUR6aWVuID0gKHBpZXJ3c3p5U3R5Y3puaWEgKyAzNjYqaWxlUHJ6ZXN0ZXBueWNoKHJvaykgKyAzNjUqKHJvayAtIGlsZVByemVzdGVwbnljaChyb2spKSklNzsKICAgICAgICByZXR1cm4gamFraUR6aWVuOwogICAgfQogCiAgICBpbnQgaWxlUHJ6ZXN0ZXBueWNoKGludCByb2spewogICAgICAgIGludCBpOwogICAgICAgIGludCBpbGVQcnplc3RlcG55Y2ggPSAwOwogICAgICAgIGZvcihpID0gMDsgaSA8IHJvayAtIDE2MDA7IGkrKyl7CiAgICAgICAgICAgIGlmKGN6eVByemVzdGVwbnkoaSkgPT0gMSkKICAgICAgICAgICAgICAgIGlsZVByemVzdGVwbnljaCsrOwogICAgICAgIH0KICAgICAgICByZXR1cm4gaWxlUHJ6ZXN0ZXBueWNoOwogICB9CiAKICAgaW50IGN6eVByemVzdGVwbnkoaW50IHJvayl7CiAgICAgICAgaWYocm9rID09IDAgfHwgKHJvayU0ID09IDAgJiYgcm9rJTQwMCA9PSAwKSB8fCAocm9rJTQgPT0gMCAmJiByb2slMTAwICE9IDApKQogICAgICAgICAgICByZXR1cm4gMTsKICAgICAgICByZXR1cm4gMDsKICAgfQogCiAgICB2b2lkIHd5cGlzelBpYXRraShpbnQgcGllcndzenlTdHljem5pYSwgaW50IHJvayl7CiAgICAgICAgcHV0cygiVyBkYW55bSByb2t1IHBpYXRraSB0cnp5bmFzdGVnbyBiZWRhIHcgdHljaCBtaWVzaWFjYWNoOiIpOwogICAgICAgIHN3aXRjaChqYWtpRHppZW5QaWVyd3N6ZWdvKHBpZXJ3c3p5U3R5Y3puaWEsIHJvaykpewogICAgICAgICAgICBjYXNlIDA6CiAgICAgICAgICAgICAgICBpZihjenlQcnplc3RlcG55KHJvaykgPT0gMSkKICAgICAgICAgICAgICAgICAgICBwdXRzKCJXcnplc2llbiBvcmF6IGdydWR6aWVuLiIpOwogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIHB1dHMoIk1hai4iKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDE6CiAgICAgICAgICAgICAgICBpZihjenlQcnplc3RlcG55KHJvaykgPT0gMSkKICAgICAgICAgICAgICAgICAgICBwdXRzKCJDemVyd2llYy4iKTsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICBwdXRzKCJXcnplc2llbiBvcmF6IGdydWR6aWVuLiIpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMjoKICAgICAgICAgICAgICAgIGlmKGN6eVByemVzdGVwbnkocm9rKSA9PSAxKQogICAgICAgICAgICAgICAgICAgIHB1dHMoIk1hcnplYyBvcmF6IGxpc3RvcGFkLiIpOwogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIHB1dHMoIkN6ZXJ3aWVjLiIpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgMzoKICAgICAgICAgICAgICAgIGlmKGN6eVByemVzdGVwbnkocm9rKSA9PSAxKQogICAgICAgICAgICAgICAgICAgIHB1dHMoIkx1dHkgb3JheiBzaWVycGllbi4iKTsKICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAgICBwdXRzKCJMdXR5LCBtYXJ6ZWMgb3JheiBsaXN0b3BhZC4iKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlIDQ6CiAgICAgICAgICAgICAgICBpZihjenlQcnplc3RlcG55KHJvaykgPT0gMSkKICAgICAgICAgICAgICAgICAgICBwdXRzKCJNYWouIik7CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgcHV0cygiU2llcnBpZW4uIik7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgY2FzZSA1OgogICAgICAgICAgICAgICAgaWYoY3p5UHJ6ZXN0ZXBueShyb2spID09IDEpCiAgICAgICAgICAgICAgICAgICAgcHV0cygiUGF6ZHppZXJuaWsuIik7CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgcHV0cygiTWFqLiIpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgNjoKICAgICAgICAgICAgICAgIGlmKGN6eVByemVzdGVwbnkocm9rKSA9PSAxKQogICAgICAgICAgICAgICAgICAgIHB1dHMoIlN0eWN6ZW4sIGt3aWVjaWVuIG9yYXogbGlwaWVjIik7CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgcHV0cygiU3R5Y3plbiBvcmF6IHBhemR6aWVybmlrIik7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICB9CiAKICAgIGludCBtYWluICh2b2lkKXsKICAgICAgICBpbnQgcGllcndzenlTdHljem5pYSA9IDE7CiAgICAgICAgaW50IHJvazsKIAogICAgICAgIHB1dHMoIlBvZGFqIHJvaywgYSBqYSB3eXBpc3plIGplZ28gcGlhdGtpIDEzLXN0ZWdvIik7CiAgICAgICAgc2NhbmYoIiVkIiwgJnJvayk7CiAgICAgICAgd3lwaXN6UGlhdGtpKHBpZXJ3c3p5U3R5Y3puaWEsIHJvayk7CiAKICAgICAgICByZXR1cm4gMDsKICAgIH0KfQ==