<?php
function tekaTekiTeko( $batas ) {
if ( ! is_int ( $batas ) || $batas < 20 ) { throw new InvalidArgumentException( "Parameter harus berupa bilangan bulat >= 20" ) ;
}
for ( $i = 1 ; $i <= $batas ; $i ++ ) {
$output = '' ;
// Perhatikan urutan: Teka (3), Teki (5), Teko (2)
if ( $i % 3 === 0 ) $output .= 'Teka' ;
if ( $i % 5 === 0 ) $output .= 'Teki' ;
if ( $i % 2 === 0 ) $output .= 'Teko' ;
echo $output === '' ? $i : $output ;
echo PHP_EOL;
}
}
// Contoh penggunaan
try {
tekaTekiTeko( 30 ) ;
} catch ( Exception $e ) {
echo "Error: " . $e -> getMessage ( ) ;
}
PD9waHAKCmZ1bmN0aW9uIHRla2FUZWtpVGVrbygkYmF0YXMpIHsKICAgIGlmICghaXNfaW50KCRiYXRhcykgfHwgJGJhdGFzIDwgMjApIHsKICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCJQYXJhbWV0ZXIgaGFydXMgYmVydXBhIGJpbGFuZ2FuIGJ1bGF0ID49IDIwIik7CiAgICB9CgogICAgZm9yICgkaSA9IDE7ICRpIDw9ICRiYXRhczsgJGkrKykgewogICAgICAgICRvdXRwdXQgPSAnJzsKCiAgICAgICAgLy8gUGVyaGF0aWthbiB1cnV0YW46IFRla2EgKDMpLCBUZWtpICg1KSwgVGVrbyAoMikKICAgICAgICBpZiAoJGkgJSAzID09PSAwKSAkb3V0cHV0IC49ICdUZWthJzsKICAgICAgICBpZiAoJGkgJSA1ID09PSAwKSAkb3V0cHV0IC49ICdUZWtpJzsKICAgICAgICBpZiAoJGkgJSAyID09PSAwKSAkb3V0cHV0IC49ICdUZWtvJzsKCiAgICAgICAgZWNobyAkb3V0cHV0ID09PSAnJyA/ICRpIDogJG91dHB1dDsKICAgICAgICBlY2hvIFBIUF9FT0w7CiAgICB9Cn0KCi8vIENvbnRvaCBwZW5nZ3VuYWFuCnRyeSB7CiAgICB0ZWthVGVraVRla28oMzApOwp9IGNhdGNoIChFeGNlcHRpb24gJGUpIHsKICAgIGVjaG8gIkVycm9yOiAiIC4gJGUtPmdldE1lc3NhZ2UoKTsKfQo=