package main
import (
"errors"
"fmt"
)
func tekaTekiTeko( batas uint) error {
if batas < 20 {
return errors.New ( "parameter batas harus bernilai minimal 20" )
}
for i := uint( 1 ) ; i <= batas; i++ {
output := ""
if i% 2 == 0 {
output += "Teka"
}
if i% 3 == 0 {
output += "Teki"
}
if i% 5 == 0 {
output += "Teko"
}
if output == "" {
fmt.Println ( i)
} else {
fmt.Println ( output)
}
}
return nil
}
func main( ) {
if err := tekaTekiTeko( 30 ) ; err != nil {
fmt.Println ( "Error:" , err)
}
}
cGFja2FnZSBtYWluCmltcG9ydCAoCgkiZXJyb3JzIgoJImZtdCIKKQoKZnVuYyB0ZWthVGVraVRla28oYmF0YXMgdWludCkgZXJyb3IgewoJaWYgYmF0YXMgPCAyMCB7CgkJcmV0dXJuIGVycm9ycy5OZXcoInBhcmFtZXRlciBiYXRhcyBoYXJ1cyBiZXJuaWxhaSBtaW5pbWFsIDIwIikKCX0KCglmb3IgaSA6PSB1aW50KDEpOyBpIDw9IGJhdGFzOyBpKysgewoJCW91dHB1dCA6PSAiIgoKCQlpZiBpJTIgPT0gMCB7CgkJCW91dHB1dCArPSAiVGVrYSIKCQl9CgkJaWYgaSUzID09IDAgewoJCQlvdXRwdXQgKz0gIlRla2kiCgkJfQoJCWlmIGklNSA9PSAwIHsKCQkJb3V0cHV0ICs9ICJUZWtvIgoJCX0KCgkJaWYgb3V0cHV0ID09ICIiIHsKCQkJZm10LlByaW50bG4oaSkKCQl9IGVsc2UgewoJCQlmbXQuUHJpbnRsbihvdXRwdXQpCgkJfQoJfQoKCXJldHVybiBuaWwKfQoKCgpmdW5jIG1haW4oKXsKCWlmIGVyciA6PSB0ZWthVGVraVRla28oMzApOyBlcnIgIT0gbmlsIHsKCQlmbXQuUHJpbnRsbigiRXJyb3I6IiwgZXJyKQoJfQp9