Files
LeetCode-Go/leetcode/1006.Clumsy-Factorial/1006. Clumsy Factorial.go
2021-07-11 18:44:54 +08:00

28 lines
387 B
Go

package leetcode
func clumsy(N int) int {
res, count, tmp, flag := 0, 1, N, false
for i := N - 1; i > 0; i-- {
count = count % 4
switch count {
case 1:
tmp = tmp * i
case 2:
tmp = tmp / i
case 3:
res = res + tmp
flag = true
tmp = -1
res = res + i
case 0:
flag = false
tmp = tmp * (i)
}
count++
}
if !flag {
res = res + tmp
}
return res
}