<?php
function tekaTekiTeko( int $batas )
{
// Validasi tipe dan nilai parameter
if ( $batas < 20 || $batas < 0 ) {
throw new InvalidArgumentException( "Parameter harus unsigned integer dan minimal bernilai 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" ;
}
// Jika tidak ada yang cocok, tampilkan angka
echo ( $output === "" ? $i : $output ) . PHP_EOL;
}
}
tekaTekiTeko( 30 ) ;
PD9waHAKCmZ1bmN0aW9uIHRla2FUZWtpVGVrbyhpbnQgJGJhdGFzKQp7CiAgICAvLyBWYWxpZGFzaSB0aXBlIGRhbiBuaWxhaSBwYXJhbWV0ZXIKICAgIGlmICgkYmF0YXMgPCAyMCB8fCAkYmF0YXMgPCAwKSB7CiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbigiUGFyYW1ldGVyIGhhcnVzIHVuc2lnbmVkIGludGVnZXIgZGFuIG1pbmltYWwgYmVybmlsYWkgMjAuIik7CiAgICB9CgogICAgZm9yICgkaSA9IDE7ICRpIDw9ICRiYXRhczsgJGkrKykgewogICAgICAgICRvdXRwdXQgPSAiIjsKCiAgICAgICAgaWYgKCRpICUgMiA9PT0gMCkgewogICAgICAgICAgICAkb3V0cHV0IC49ICJUZWthIjsKICAgICAgICB9CiAgICAgICAgaWYgKCRpICUgMyA9PT0gMCkgewogICAgICAgICAgICAkb3V0cHV0IC49ICJUZWtpIjsKICAgICAgICB9CiAgICAgICAgaWYgKCRpICUgNSA9PT0gMCkgewogICAgICAgICAgICAkb3V0cHV0IC49ICJUZWtvIjsKICAgICAgICB9CgogICAgICAgIC8vIEppa2EgdGlkYWsgYWRhIHlhbmcgY29jb2ssIHRhbXBpbGthbiBhbmdrYQogICAgICAgIGVjaG8gKCRvdXRwdXQgPT09ICIiID8gJGkgOiAkb3V0cHV0KSAuIFBIUF9FT0w7CiAgICB9Cn0KCnRla2FUZWtpVGVrbygzMCk7Cg==