fork download
  1. <?php
  2.  
  3. function tekaTekiTeko($batas) {
  4. if (!is_int($batas) || $batas < 20) {
  5. throw new InvalidArgumentException("Parameter harus bilangan bulat >= 20");
  6. }
  7.  
  8. for ($i = 1; $i <= $batas; $i++) {
  9. $output = '';
  10.  
  11. // Perhatikan: urutan divisibilitas adalah 3 → 5 → 2
  12. if ($i % 3 === 0) $output .= 'Teka';
  13. if ($i % 5 === 0) $output .= 'Teki';
  14. if ($i % 2 === 0) $output .= 'Teko';
  15.  
  16. echo $output === '' ? $i : $output;
  17. echo PHP_EOL;
  18. }
  19. }
  20.  
  21. // Contoh pemanggilan
  22. try {
  23. tekaTekiTeko(30);
  24. } catch (Exception $e) {
  25. echo "Error: " . $e->getMessage();
  26. }
  27.  
Success #stdin #stdout 0.04s 25764KB
stdin
Standard input is empty
stdout
1
Teko
Teka
Teko
Teki
TekaTeko
7
Teko
Teka
TekiTeko
11
TekaTeko
13
Teko
TekaTeki
Teko
17
TekaTeko
19
TekiTeko
Teka
Teko
23
TekaTeko
Teki
Teko
Teka
Teko
29
TekaTekiTeko