You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
506 B
Go
48 lines
506 B
Go
package cses
|
|
|
|
import "fmt"
|
|
|
|
func WeirdAlgo(n int) string {
|
|
seq := []int{}
|
|
|
|
for n != 1 {
|
|
seq = append(seq, n)
|
|
|
|
if n%2 == 0 {
|
|
n /= 2
|
|
} else {
|
|
n = n*3 + 1
|
|
}
|
|
}
|
|
|
|
seq = append(seq, 1)
|
|
|
|
return fmt.Sprint(seq)
|
|
}
|
|
|
|
func MissingNumber(n int, numbers []int) int {
|
|
|
|
if n != len(numbers)+1 {
|
|
return -1
|
|
}
|
|
|
|
present := make([]bool, n)
|
|
|
|
for _, i := range numbers {
|
|
|
|
if i > n {
|
|
return -2
|
|
}
|
|
|
|
present[i-1] = true
|
|
}
|
|
|
|
for i, b := range present {
|
|
if !b {
|
|
return i + 1
|
|
}
|
|
}
|
|
|
|
return -3
|
|
}
|