<?php
function tekaTekiTeko( int $batas ) : void {
if ( ! is_int ( $batas ) || $batas < 20 || $batas < 0 ) { throw new InvalidArgumentException( "Parameter harus berupa unsigned integer dan minimal 20." ) ;
}
for ( $i = 1 ; $i <= $batas ; $i ++ ) {
$output = "" ;
if ( $i % 2 === 0 ) $output .= "Teka" ;
if ( $i % 3 === 0 ) $output .= "Teki" ;
if ( $i % 5 === 0 ) $output .= "Teko" ;
echo ( $output !== "" ? $output : $i ) . PHP_EOL;
}
}
tekaTekiTeko( 30 ) ;
PD9waHAKCmZ1bmN0aW9uIHRla2FUZWtpVGVrbyhpbnQgJGJhdGFzKTogdm9pZCB7CiAgICBpZiAoIWlzX2ludCgkYmF0YXMpIHx8ICRiYXRhcyA8IDIwIHx8ICRiYXRhcyA8IDApIHsKICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCJQYXJhbWV0ZXIgaGFydXMgYmVydXBhIHVuc2lnbmVkIGludGVnZXIgZGFuIG1pbmltYWwgMjAuIik7CiAgICB9CgogICAgZm9yICgkaSA9IDE7ICRpIDw9ICRiYXRhczsgJGkrKykgewogICAgICAgICRvdXRwdXQgPSAiIjsKCiAgICAgICAgaWYgKCRpICUgMiA9PT0gMCkgJG91dHB1dCAuPSAiVGVrYSI7CiAgICAgICAgaWYgKCRpICUgMyA9PT0gMCkgJG91dHB1dCAuPSAiVGVraSI7CiAgICAgICAgaWYgKCRpICUgNSA9PT0gMCkgJG91dHB1dCAuPSAiVGVrbyI7CgogICAgICAgIGVjaG8gKCRvdXRwdXQgIT09ICIiID8gJG91dHB1dCA6ICRpKSAuIFBIUF9FT0w7CiAgICB9Cn0KCgp0ZWthVGVraVRla28oMzApOwo=