68 lines
3.3 KiB
Markdown
68 lines
3.3 KiB
Markdown
# README.md
|
|
|
|
# Soal: Berhitung dengan Jari
|
|
|
|
|
|
## Deskripsi Soal
|
|
Berhitung dengan jari adalah metode menghitung angka menggunakan satu tangan yang terdiri dari lima jari: jempol, telunjuk, tengah, manis, kelingking. Perhitungan dimulai dari angka 1 yang jatuh pada jari jempol, dilanjutkan ke telunjuk untuk angka 2, hingga kelingking untuk angka 5. Setelah itu, hitungan berbalik arah: angka 6 jatuh di jari manis, angka 7 di tengah, angka 8 di telunjuk, angka 9 di jempol, angka 10 di telunjuk, dan seterusnya mengikuti pola maju-mundur tersebut. Dengan demikian, urutan jari membentuk pola siklus: jempol, telunjuk, tengah, manis, kelingking, manis, tengah, telunjuk, yang terus berulang. Setiap baris input terdiri dari dua angka, yaitu angka awal dan angka akhir, yang menunjukkan rentang hitungan. Tugas program adalah menentukan jari tempat angka akhir jatuh berdasarkan pola tersebut. Output berupa nama jari, sesuai posisi akhir dalam urutan hitungan.
|
|
|
|
## Contoh 1 :
|
|
### Input:
|
|
1 10
|
|
### Output:
|
|
Telunjuk
|
|
## Contoh 2 :
|
|
### Input:
|
|
102 104
|
|
### Output:
|
|
Tengah
|
|
## Contoh 3:
|
|
### Input:
|
|
3 11
|
|
### Output:
|
|
Jempol
|
|
|
|
## Strategi Penyelesaian
|
|
Program ini dirancang untuk menentukan nama jari tempat angka akhir berada berdasarkan pola perhitungan bolak-balik pada lima jari tangan. Strategi penyelesaiannya mengandalkan pola siklus pergerakan jari yang berulang setiap 8 langkah. Berikut Langkah-langkah strategi program:
|
|
1. Definisikan pola jari:
|
|
jari = ["jempol", "telunjuk", "tengah", "manis", "kelingking", "manis", "tengah", "telunjuk"]
|
|
pol aini mencerminkan gerakan maju dari jempol ke kelingking, lalu mundur Kembali ke jempol dan berulang.
|
|
2. Input
|
|
Program menerima beberapa baris, masing-masing baris berisi dua angka yang dipisahkan spasi. Angka pertama adalah angka awal (diasumsikan dari jempol), dan angka kedua adalah angka akhir yang menjadi tujuan. Dari baris-baris tersebut program akan menentukan pada jari mana angka akhir berada.
|
|
3. Hitung jumlah angka
|
|
Untuk setiap baris, kurangi angka akhir dengan angka awal untuk mengetahui berapa Langkah perhitungan yang dilakukan:
|
|
langkah = angka_akhir - angka_awal
|
|
4. Gunakan operasi modulo
|
|
Karena pola jari berulang setiap 8 langkah, kita gunakan operasi modulo untuk mengetahui indeks posisi akhir:
|
|
indeks_jari = (0 + langkah) % 8
|
|
5. Tentukan nama jari
|
|
Gunakan indeks tersebut untuk mengambil nama jari dari array pola:
|
|
hasil = jari[indeks_jari]
|
|
6. Tampilkan Output
|
|
Format output sesuai intruksi, misalnya:
|
|
h#1: telunjuk
|
|
h#2: tengah
|
|
h#3: jempol
|
|
|
|
## Contoh 1:
|
|
### Input:
|
|
2 9
|
|
### Output:
|
|
Telunjuk
|
|
## Contoh 2:
|
|
### Input:
|
|
50 58
|
|
### Output:
|
|
Jempol
|
|
## Contoh 3:
|
|
### Input:
|
|
5 10
|
|
### Output:
|
|
Manis
|
|
|
|
|
|
## Ringkasan
|
|
Program ini menentukan jari tempat angka akhir berada berdasarkan pola hitungan maju-mundur pada lima jari tangan. Pola jari terdiri dari 8 langkah yang berulang: ["jempol", "telunjuk", "tengah", "manis", "kelingking", "manis", "tengah", "telunjuk"]. Input berupa pasangan angka (awal dan akhir), dan program menghitung selisih langkahnya. Karena posisi awal selalu di jempol (indeks 0), posisi akhir ditentukan dengan rumus (langkah) % 8, lalu dicocokkan ke pola jari. Hasilnya ditampilkan sesuai urutan input dalam format h#n: [nama jari]. Strategi ini efisien karena cukup mengandalkan pola dan operasi modulo tanpa simulasi langkah satu per satu.
|
|
|
|
|