<?php
declare ( strict_types= 1 ) ;
function tekaTekiTeko( int $batas ) : void {
if ( $batas < 20 ) {
throw new InvalidArgumentException( "Parameter harus minimal 20" ) ;
}
for ( $i = 1 ; $i <= $batas ; ++ $i ) {
$out = '' ;
if ( $i % 2 === 0 ) $out .= "Teka" ;
if ( $i % 3 === 0 ) $out .= "Teki" ;
if ( $i % 5 === 0 ) $out .= "Teko" ;
echo $out !== '' ? $out : $i ;
echo PHP_EOL;
}
}
try {
tekaTekiTeko( 30 ) ;
} catch ( Throwable $e ) {
echo "Error: " . $e -> getMessage ( ) ;
}
PD9waHAKZGVjbGFyZShzdHJpY3RfdHlwZXM9MSk7CgpmdW5jdGlvbiB0ZWthVGVraVRla28oaW50ICRiYXRhcyk6IHZvaWQgewogICAgaWYgKCRiYXRhcyA8IDIwKSB7CiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbigiUGFyYW1ldGVyIGhhcnVzIG1pbmltYWwgMjAiKTsKICAgIH0KCiAgICBmb3IgKCRpID0gMTsgJGkgPD0gJGJhdGFzOyArKyRpKSB7CiAgICAgICAgJG91dCA9ICcnOwogICAgICAgIGlmICgkaSAlIDIgPT09IDApICRvdXQgLj0gIlRla2EiOwogICAgICAgIGlmICgkaSAlIDMgPT09IDApICRvdXQgLj0gIlRla2kiOwogICAgICAgIGlmICgkaSAlIDUgPT09IDApICRvdXQgLj0gIlRla28iOwogICAgICAgIGVjaG8gJG91dCAhPT0gJycgPyAkb3V0IDogJGk7CiAgICAgICAgZWNobyBQSFBfRU9MOwogICAgfQp9CgoKdHJ5IHsKICAgIHRla2FUZWtpVGVrbygzMCk7Cn0gY2F0Y2ggKFRocm93YWJsZSAkZSkgewogICAgZWNobyAiRXJyb3I6ICIgLiAkZS0+Z2V0TWVzc2FnZSgpOwp9Cg==