1+ fun dow (year : Int , month : Int , day : Int ): Int {
2+ var year = year
3+ val t = intArrayOf(0 , 3 , 2 , 5 , 0 , 3 , 5 , 1 , 4 , 6 , 2 , 4 )
4+ year - = if (month < 3 ) 1 else 0
5+ return (year + year / 4 - year / 100 + year / 400 + t[month - 1 ] + day) % 7
6+ }
7+
8+ fun dowS (year : Int , month : Int , day : Int ): String? {
9+ when (dow(year, month, day)) {
10+ 0 -> return " Sunday"
11+ 1 -> return " Monday"
12+ 2 -> return " Tuesday"
13+ 3 -> return " Wednesday"
14+ 4 -> return " Thursday"
15+ 5 -> return " Friday"
16+ 6 -> return " Saturday"
17+ else -> println (" Unknown dow" )
18+ }
19+ return null
20+ }
21+
22+ fun main (args : Array <String >) {
23+ println (dow(1886 , 5 , 1 ).toString() + " : " + dowS(1886 , 5 , 1 ))
24+ println (dow(1948 , 12 , 10 ).toString() + " : " + dowS(1948 , 12 , 10 ))
25+ println (dow(2001 , 1 , 15 ).toString() + " : " + dowS(2001 , 1 , 15 ))
26+ println (dow(2017 , 10 , 10 ).toString() + " : " + dowS(2017 , 10 , 10 ))
27+ println (dow(2018 , 1 , 1 ).toString() + " : " + dowS(2018 , 1 , 1 ))
28+ println (dow(2018 , 2 , 16 ).toString() + " : " + dowS(2018 , 2 , 16 ))
29+ println (dow(2018 , 5 , 17 ).toString() + " : " + dowS(2018 , 5 , 17 ))
30+ }
0 commit comments