package main
import (
"fmt"
"errors"
)
func TekaTekiTeko(batas uint) error {
if batas < 20 {
return errors.New("batas masukan harus dkurang dari 20")
}
for i := uint(1); i <= batas; i++ {
switch {
case i%2 == 0:
fmt.Println("Teka")
case i%3 == 0:
fmt.Println("Teki")
case i%5 == 0:
fmt.Println("Teko")
case i%2 == 0 && i%3 == 0:
fmt.Println("TekaTeki")
case i%2 == 0 && i%5 == 0:
fmt.Println("TekaTeko")
case i%3 == 0 && i%5 == 0:
fmt.Println("TekiTeko")
case i%2 == 0 && i%3 == 0 && i%5 == 0:
fmt.Println("TekaTekiTeko")
default:
fmt.Println(i)
}
}
return nil
}
func main(){
// contoh masukan yg valid
if err := TekaTekiTeko(30); err != nil {
fmt.Println("Error:", err)
}
// contoh masukan yg tidak valid
// fmt.Println("contoh masukan tidak vaid")
// if err := TekaTekiTeko(10); err != nil {
// fmt.Println("Error:", err)
// }
}
cGFja2FnZSBtYWluCmltcG9ydCAoCgkiZm10IgoJImVycm9ycyIKCSkKCmZ1bmMgVGVrYVRla2lUZWtvKGJhdGFzIHVpbnQpIGVycm9yIHsKCWlmIGJhdGFzIDwgMjAgewoJCXJldHVybiBlcnJvcnMuTmV3KCJiYXRhcyBtYXN1a2FuIGhhcnVzIGRrdXJhbmcgZGFyaSAyMCIpCgl9CgkKCWZvciBpIDo9IHVpbnQoMSk7IGkgPD0gYmF0YXM7IGkrKyB7CgkJc3dpdGNoIHsKCQkJY2FzZSBpJTIgPT0gMDoKCQkJCWZtdC5QcmludGxuKCJUZWthIikKCQkJY2FzZSBpJTMgPT0gMDoKCQkJCWZtdC5QcmludGxuKCJUZWtpIikKCQkJY2FzZSBpJTUgPT0gMDoKCQkJCWZtdC5QcmludGxuKCJUZWtvIikKCQkJY2FzZSBpJTIgPT0gMCAmJiBpJTMgPT0gMDoKCQkJCWZtdC5QcmludGxuKCJUZWthVGVraSIpCgkJCWNhc2UgaSUyID09IDAgJiYgaSU1ID09IDA6CgkJCQlmbXQuUHJpbnRsbigiVGVrYVRla28iKQoJCQljYXNlIGklMyA9PSAwICYmIGklNSA9PSAwOgoJCQkJZm10LlByaW50bG4oIlRla2lUZWtvIikKCQkJY2FzZSBpJTIgPT0gMCAmJiBpJTMgPT0gMCAmJiBpJTUgPT0gMDoKCQkJCWZtdC5QcmludGxuKCJUZWthVGVraVRla28iKQoJCQlkZWZhdWx0OgoJCQkJZm10LlByaW50bG4oaSkKCQl9Cgl9CgkKCXJldHVybiBuaWwKfQoKZnVuYyBtYWluKCl7CgkKCS8vIGNvbnRvaCBtYXN1a2FuIHlnIHZhbGlkCglpZiBlcnIgOj0gVGVrYVRla2lUZWtvKDMwKTsgZXJyICE9IG5pbCB7CgkJZm10LlByaW50bG4oIkVycm9yOiIsIGVycikKCX0KCQoJLy8gY29udG9oIG1hc3VrYW4geWcgdGlkYWsgdmFsaWQKCS8vIGZtdC5QcmludGxuKCJjb250b2ggbWFzdWthbiB0aWRhayB2YWlkIikKCS8vIGlmIGVyciA6PSBUZWthVGVraVRla28oMTApOyBlcnIgIT0gbmlsIHsKCS8vCWZtdC5QcmludGxuKCJFcnJvcjoiLCBlcnIpCgkvLyB9Cn0=