Skip to content

Commit d36887a

Browse files
committed
Add Kotlin implementation
1 parent cfb6370 commit d36887a

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

Doomsday/Kotlin/Doomsday.kt

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
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

Comments
 (0)