fork download
  1. // Soal 1
  2. // By Taufiq Hidayatullah
  3.  
  4. function tekaTekiTeko(batas) {
  5. // Validasi tipe data dan rentang nilai dari parameter 'batas'.
  6. if (typeof batas !== 'number' || !Number.isInteger(batas) || batas < 20) {
  7. throw new Error("Parameter 'batas' harus merupakan bilangan bulat dengan nilai minimal 20.");
  8. }
  9.  
  10. // Iterasi utama dari 1 hingga nilai batas.
  11. for (let i = 1; i <= batas; i++) {
  12. let output = '';
  13. if (i % 2 === 0) output += 'Teka';
  14. if (i % 3 === 0) output += 'Teki';
  15. if (i % 5 === 0) output += 'Teko';
  16. console.log(output || i);
  17. }
  18. }
  19.  
  20. // Kode ini akan 'mendengarkan' input.
  21. process.stdin.on('data', (data) => {
  22. // Konversi input (yang berupa string) menjadi angka bulat.
  23. const batasDariInput = parseInt(data.toString().trim(), 10);
  24.  
  25. try {
  26. console.log("--- Eksekusi program dimulai ---");
  27. tekaTekiTeko(batasDariInput);
  28. } catch (error) {
  29. console.error("Terjadi kesalahan:", error.message);
  30. }
  31. });
Success #stdin #stdout 0.07s 41124KB
stdin
45
stdout
--- Eksekusi program dimulai ---
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
31
Teka
Teki
Teka
Teko
TekaTeki
37
Teka
Teki
TekaTeko
41
TekaTeki
43
Teka
TekiTeko