Показать сообщение отдельно
  #35 (permalink)  
Старый 30.04.2021, 17:56
Аватар для Блондинка
Профессор
Отправить личное сообщение для Блондинка Посмотреть профиль Найти все сообщения от Блондинка
 
Регистрация: 24.02.2019
Сообщений: 806

Сообщение от Malleys Посмотреть сообщение
Да, возможно. Например, вычисление дня пасхи Пасхалия

Вот я попробовал...
<h4>Православная пасха</h4>
<input id="input" type="number" value="2019">
<output id="output"></output>

<script>

function psh(Y){
	var a = (19 * (Y % 19) + 15) % 30;
	var b = (2 * (Y % 4) + 4 * (Y % 7) + 6 * a + 6) % 7;

	if(a + b > 26)
		return (a + b - 26) + " мая " + Y;
	else
		return (a + b + 4) + " апреля " + Y;
}

(input.oninput = function() {
	output.textContent = psh(+input.value);
})();

</script>
как из этого скрипта добавить функцию

function psh(Y){
	var a = (19 * (Y % 19) + 15) % 30;
	var b = (2 * (Y % 4) + 4 * (Y % 7) + 6 * a + 6) % 7;

	if(a + b > 26)
		return (a + b - 26) + " мая " + Y;
	else
		return (a + b + 4) + " апреля " + Y;
}


и вывести поздравление с пасхой, и радуницей(+9 дней)

и эту функцию

function catholicDate(year) {
   // [url]https://ru.wikipedia.org/wiki/Алгоритм_Гаусса_вычисления_даты_Пасхи[/url]
   var a = year % 19,
   b = year % 4,
   c = year % 7,
   k = Math.floor(year / 100),
   p = Math.floor((13 + 8 * k) / 25),
   q = Math.floor(k / 4),
   m = (15 - p + k - q) % 30,
   n = (4 + k - q) % 7,
   d = (19 * a + m) % 30,
   e = (2 * b + 4 * c + 6 * d + n) % 7;
   if (d === 29 && e === 6) return new Date(year, 3, 19);
   if (d === 28 && e === 6 && ((11 * m + 11) % 30 < 19)) return new Date(year, 3, 18);
   if (d + e > 9) return new Date(year, 3, d + e - 9);
   else return new Date(year, 2, 22 + d + e);
   }


и вывести поздравление с католической пасхой?
Ответить с цитированием