Selection & Repetition
Latihan Soal — Selection & Repetition (Bahasa C)
11 soal utama (kombinasi selection, repetition, dan gabungan) + 3 soal Bonus / More Challenge. Level bertahap dari easy hingga advanced.
📤 Pengumpulan Code
Kumpulkan seluruh code jawaban kalian melalui form berikut:
🔗 Link pengumpulan: https://forms.gle/aaFj9L711EwzkXfEA
Soal 1 — Tiga Wujud Air (Easy)
Deskripsi
Air memiliki tiga wujud tergantung suhunya (dalam °C): membeku, mencair, atau menguap.
Baca sebuah suhu bilangan bulat, lalu tentukan wujud air pada suhu tersebut.
Aturan: suhu di bawah 0 → Beku; suhu 0 sampai 100 (inklusif) → Cair; di atas 100 → Uap.
Format Input Satu baris berisi satu bilangan bulat (suhu).
Format Output
Satu baris: Beku, Cair, atau Uap.
Contoh Input
150
Contoh Output
Uap
Soal 2 — Nilai Huruf (Easy–Medium)
Deskripsi
Sebuah kampus mengubah nilai angka (0–100) menjadi nilai huruf dengan aturan:
85–100 → A, 70–84 → B, 55–69 → C, 40–54 → D, di bawah 40 → E.
Baca sebuah nilai angka, lalu tampilkan nilai hurufnya.
Format Input Satu baris berisi satu bilangan bulat (0–100).
Format Output Satu baris berisi satu huruf.
Contoh Input
78
Contoh Output
B
Soal 3 — Mesin Kalkulator (Medium)
Deskripsi
Buat sebuah mesin kalkulator sederhana. Baca dua bilangan bulat dan sebuah operator
(+, -, *, atau /) di antara keduanya, lalu tampilkan hasil operasinya.
Jika operator tidak dikenali, tampilkan Operator tidak valid. (Dijamin pembagi ≠ 0.)
Format Input
Satu baris: A op B (dipisahkan spasi), dengan op adalah salah satu operator di atas.
Format Output
Satu baris berisi hasil, atau Operator tidak valid.
Contoh Input
8 * 3
Contoh Output
24
Soal 4 — Celengan Harian (Easy)
Deskripsi Seorang anak menabung setiap hari. Pada hari ke-1 ia menabung 1 koin, hari ke-2 menabung 2 koin, hari ke-3 menabung 3 koin, dan seterusnya hingga hari ke-N. Tentukan total koin yang terkumpul setelah N hari.
Format Input Satu baris berisi satu bilangan bulat positif N.
Format Output Satu baris berisi total koin.
Contoh Input
5
Contoh Output
15
Soal 5 — Faktorial (Easy–Medium)
Deskripsi Faktorial dari N (ditulis N!) adalah hasil perkalian semua bilangan bulat dari 1 sampai N. Baca N, lalu tampilkan nilai N!. (Dijamin 0 ≤ N ≤ 20.)
Format Input Satu baris berisi satu bilangan bulat N.
Format Output Satu baris berisi nilai N!.
Contoh Input
5
Contoh Output
120
Soal 6 — Tabel Perkalian (Medium)
Deskripsi
Baca sebuah bilangan bulat N, lalu tampilkan tabel perkalian N dari 1 sampai 10 dengan
format N x i = hasil per baris.
Format Input Satu baris berisi satu bilangan bulat N.
Format Output
Sepuluh baris, masing-masing berformat: N x i = hasil.
Contoh Input
3
Contoh Output
3 x 1 = 3
3 x 2 = 6
3 x 3 = 9
3 x 4 = 12
3 x 5 = 15
3 x 6 = 18
3 x 7 = 21
3 x 8 = 24
3 x 9 = 27
3 x 10 = 30
Soal 7 — Penjaga Gerbang Prima (Medium)
Deskripsi
Sebuah gerbang hanya terbuka untuk bilangan prima. Baca sebuah bilangan bulat N, lalu
tentukan apakah N bilangan prima. Tampilkan Prima atau Bukan Prima.
(Ingat: bilangan prima adalah bilangan lebih dari 1 yang hanya habis dibagi 1 dan dirinya sendiri.)
Format Input Satu baris berisi satu bilangan bulat N.
Format Output
Satu baris: Prima atau Bukan Prima.
Contoh Input
7
Contoh Output
Prima
Soal 8 — Sensus Genap-Ganjil (Medium)
Deskripsi Panitia mendata sejumlah bilangan. Baca sebuah bilangan N, diikuti N buah bilangan bulat. Hitung berapa banyak bilangan genap dan berapa banyak bilangan ganjil di antaranya.
Format Input Baris pertama: bilangan bulat N. Baris/berikutnya: N bilangan bulat.
Format Output
Genap: <jumlah bilangan genap>
Ganjil: <jumlah bilangan ganjil>
Contoh Input
5
4 7 2 9 6
Contoh Output
Genap: 3
Ganjil: 2
Soal 9 — Permainan Fizz-Buzz (Medium–Advanced)
Deskripsi
Dalam sebuah permainan, pemain menyebut angka 1 hingga N secara berurutan, dengan aturan:
angka kelipatan 3 diganti Fizz, kelipatan 5 diganti Buzz, dan kelipatan 3 sekaligus 5
diganti FizzBuzz. Angka lain disebut apa adanya. Tampilkan urutan sebutan dari 1 sampai N,
satu per baris.
Format Input Satu baris berisi satu bilangan bulat N.
Format Output N baris sesuai aturan permainan.
Contoh Input
15
Contoh Output
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
Soal 10 — Menara Bintang (Advanced)
Deskripsi
Baca sebuah bilangan bulat positif N, lalu cetak segitiga siku-siku dari tanda bintang (*)
setinggi N baris, dengan baris ke-i berisi i buah bintang.
Format Input Satu baris berisi satu bilangan bulat positif N.
Format Output N baris berisi tanda bintang membentuk segitiga.
Contoh Input
4
Contoh Output
*
**
***
****
Soal 11 — Detektor Kelipatan Tujuh (Advanced)
Deskripsi
Sebuah alat memindai deret bilangan satu per satu dan berhenti pada bilangan pertama yang
habis dibagi 7. Baca N, lalu N buah bilangan bulat. Tampilkan posisi (urutan ke-berapa,
mulai dari 1) bilangan pertama yang habis dibagi 7. Jika tidak ada, tampilkan -1.
Format Input Baris pertama: N. Berikutnya: N bilangan bulat.
Format Output
Satu baris: posisi bilangan pertama yang habis dibagi 7, atau -1.
Contoh Input
5
3 10 14 8 21
Contoh Output
3
🔥 BONUS / MORE CHALLENGE
3 soal tingkat sangat sulit.
Bonus 1 — Kode Rahasia Armstrong (Sangat Sulit)
Deskripsi Sebuah sistem keamanan hanya menerima "kode rahasia" berupa bilangan tiga digit yang istimewa: jumlah pangkat tiga dari masing-masing digitnya sama dengan bilangan itu sendiri. Diberikan dua bilangan A dan B (100 ≤ A ≤ B ≤ 999), tampilkan semua kode rahasia tersebut dalam rentang [A, B], terurut menaik, masing-masing pada baris terpisah. Dijamin selalu ada minimal satu kode dalam rentang uji.
Format Input Satu baris berisi dua bilangan bulat A dan B.
Format Output Setiap kode rahasia pada baris terpisah, terurut menaik.
Contoh Input
100 500
Contoh Output
153
370
371
407
Bonus 2 — Piramida Cermin (Sangat Sulit)
Deskripsi Baca sebuah bilangan bulat N (1 ≤ N ≤ 9). Cetak piramida angka simetris setinggi N baris, di mana baris ke-i berisi angka naik 1 sampai i lalu turun kembali sampai 1, dengan spasi di depan agar berbentuk piramida rata tengah. Perhatikan contoh dengan saksama.
Format Input Satu baris berisi satu bilangan bulat N.
Format Output N baris membentuk piramida angka simetris.
Contoh Input
5
Contoh Output
1
121
12321
1234321
123454321
Bonus 3 — Pembongkar Bilangan (Sangat Sulit)
Deskripsi
Setiap bilangan bulat > 1 dapat "dibongkar" menjadi perkalian bilangan-bilangan prima
penyusunnya (faktorisasi prima). Baca sebuah bilangan bulat N (N ≥ 2), lalu tampilkan
faktorisasi primanya dalam format N = p1 x p2 x p3 x ..., dengan faktor terurut menaik
dan faktor berulang ditulis sebanyak kemunculannya.
Format Input Satu baris berisi satu bilangan bulat N (N ≥ 2).
Format Output
Satu baris: N = <faktorisasi prima dipisahkan " x ">.
Contoh Input
60
Contoh Output
60 = 2 x 2 x 3 x 5