Data update
This commit is contained in:
parent
35bcdeebf8
commit
74c69a0df6
2427 changed files with 31826 additions and 3468 deletions
24
Task/Doomsday-rule/EasyLang/doomsday-rule.easy
Normal file
24
Task/Doomsday-rule/EasyLang/doomsday-rule.easy
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
func leap year .
|
||||
return if year mod 4 = 0 and (year mod 100 <> 0 or year mod 400 = 0)
|
||||
.
|
||||
func weekday year month day .
|
||||
normdoom[] = [ 3 7 7 4 2 6 4 1 5 3 7 5 ]
|
||||
c = year div 100
|
||||
r = year mod 100
|
||||
s = r div 12
|
||||
t = r mod 12
|
||||
c_anchor = (5 * (c mod 4) + 2) mod 7
|
||||
doom = (s + t + (t div 4) + c_anchor) mod 7
|
||||
anchor = normdoom[month]
|
||||
if leap year = 1 and month <= 2
|
||||
anchor = (anchor + 1) mod1 7
|
||||
.
|
||||
return (doom + day - anchor + 7) mod 7 + 1
|
||||
.
|
||||
wkdays$[] = [ "Sunday" "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday" ]
|
||||
dates$[] = [ "1800-01-06" "1875-03-29" "1915-12-07" "1970-12-23" "2043-05-14" "2077-02-12" "2101-04-02" ]
|
||||
for d$ in dates$[]
|
||||
write d$ & " -> "
|
||||
a[] = number strsplit d$ "-"
|
||||
print wkdays$[weekday a[1] a[2] a[3]]
|
||||
.
|
||||
22
Task/Doomsday-rule/UNIX-Shell/doomsday-rule.sh
Normal file
22
Task/Doomsday-rule/UNIX-Shell/doomsday-rule.sh
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
day-of-the-week()
|
||||
if [[ "$1" =~ ([0-9]{4})-([0-9]{2})-([0-9]{2}) ]]
|
||||
then
|
||||
local -ra names=({Sun,Mon,Tues,Wednes,Thurs,Fri,Satur}day) doomsday=({37,41}7426415375)
|
||||
local -i i c s t a b
|
||||
local -i {year,month,day}=${BASH_REMATCH[++i]}
|
||||
echo ${names[
|
||||
c=year/100,
|
||||
s=(year%100)/12,
|
||||
t=(year % 100) % 12,
|
||||
a=(5*(c%4)+2) % 7,
|
||||
b=(s + t + (t / 4) + a ) % 7,
|
||||
(b + day - ${doomsday[(year%4 == 0) && ((year%100) || (year%400 == 0))]:month-1:1} + 7) % 7
|
||||
]}
|
||||
else return 1
|
||||
fi
|
||||
|
||||
for date in 1800-01-06 1875-03-29 1915-12-07 1970-12-23 2043-05-14 2077-02-12 2101-04-02
|
||||
do day-of-the-week "$date"
|
||||
done
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
import "/date" for Date
|
||||
import "./date" for Date
|
||||
|
||||
var days = ["Sunday", "Monday", "Tuesday", "Wednesday","Thursday", "Friday", "Saturday"]
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue