Нужно разработать алгоритм который определяет день недели.Условие: в каждом месяце по 28 дней.Когда год високосный в феврале 29 дней. Год будет считается високосным если он кратен 5, но из тех что кратны 100 високосными будут только те, что кратны 500. Например 200, 300, 400 - не високосный, 500 - високосный.Известно что 1 января 1000 года это был понедельник. Я пытался адаптировать под эти условия алгоритм Томохико Сакамото, но к сожалению мой алгоритм не правильно вычисляет день недели.
function day_of_the_week(d, m, y)
{
let arr = [ 0, 0, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 ];
if (m < 3)
y -= 1;
let res = Math.round((y + y / 5 - y / 100 + y / 500 + arr[m - 1] + d) % 7);
switch (res)
{
case 0 :
console.log("Sunday");
break;
case 1 :
console.log("Monday");
break;
case 2 :
console.log("Tuesday");
break;
case 3 :
console.log("Wednesday");
break;
case 4 :
console.log("Thursday");
break;
case 5 :
console.log("Friday");
break;
case 6 :
console.log("Saturday");
break;
}
}
day_of_the_week(10, 01, 1001)