fork download
  1. <?php
  2.  
  3. function tekaTekiTeko(int $batas) {
  4. // Validasi tipe dan batas minimal
  5. if ($batas < 20) {
  6. throw new InvalidArgumentException("Parameter \$batas harus bernilai minimal 20.");
  7. }
  8.  
  9. for ($i = 1; $i <= $batas; $i++) {
  10. $output = "";
  11.  
  12. if ($i % 2 === 0) {
  13. $output .= "Teka";
  14. }
  15. if ($i % 3 === 0) {
  16. $output .= "Teki";
  17. }
  18. if ($i % 5 === 0) {
  19. $output .= "Teko";
  20. }
  21.  
  22. // Jika tidak memenuhi syarat apapun, tampilkan angkanya
  23. echo $output !== "" ? $output : $i;
  24. echo PHP_EOL;
  25. }
  26. }
  27.  
  28. try {
  29. tekaTekiTeko(30);
  30. } catch (InvalidArgumentException $e) {
  31. echo "Error: " . $e->getMessage();
  32. }
  33.  
Success #stdin #stdout 0.04s 25632KB
stdin
Standard input is empty
stdout
1
Teka
Teki
Teka
Teko
TekaTeki
7
Teka
Teki
TekaTeko
11
TekaTeki
13
Teka
TekiTeko
Teka
17
TekaTeki
19
TekaTeko
Teki
Teka
23
TekaTeki
Teko
Teka
Teki
Teka
29
TekaTekiTeko