<?php
declare ( strict_types= 1 ) ;
function tekaTekiTeko( int $batas ) : void
{
if ( $batas < 20 ) {
throw new InvalidArgumentException( 'Parameter $batas harus unsigned integer dengan nilai 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 === '' ? ( string) $i : $out ) . PHP_EOL;
}
}
tekaTekiTeko( 30 ) ;
PD9waHAKZGVjbGFyZShzdHJpY3RfdHlwZXM9MSk7CgpmdW5jdGlvbiB0ZWthVGVraVRla28oaW50ICRiYXRhcyk6IHZvaWQKewogICAgaWYgKCRiYXRhcyA8IDIwKSB7CiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbignUGFyYW1ldGVyICRiYXRhcyBoYXJ1cyB1bnNpZ25lZCBpbnRlZ2VyIGRlbmdhbiBuaWxhaSBtaW5pbWFsIDIwLicpOwogICAgfQoKICAgIGZvciAoJGkgPSAxOyAkaSA8PSAkYmF0YXM7ICRpKyspIHsKICAgICAgICAkb3V0ID0gJyc7CiAgICAgICAgaWYgKCRpICUgMiA9PT0gMCkgJG91dCAuPSAnVGVrYSc7CiAgICAgICAgaWYgKCRpICUgMyA9PT0gMCkgJG91dCAuPSAnVGVraSc7CiAgICAgICAgaWYgKCRpICUgNSA9PT0gMCkgJG91dCAuPSAnVGVrbyc7CgogICAgICAgIGVjaG8gKCRvdXQgPT09ICcnID8gKHN0cmluZykkaSA6ICRvdXQpIC4gUEhQX0VPTDsKICAgIH0KfQoKdGVrYVRla2lUZWtvKDMwKTs=