Saya sedang membangun robot lego raksasa dan saya perlu membuat beberapa rasio roda gigi tertentu menggunakan satu set roda gigi. Saya memiliki banyak gigi dengan ukuran gigi lego yang umum: 8, 16, 24, atau 40 gigi. Tulis program yang bisa saya gunakan di mana saya memasukkan rasio roda gigi dan program memberi tahu saya kombinasi roda gigi mana yang harus saya gunakan untuk mendapatkan rasio yang diminta.
Rasio input akan ditentukan pada input standar (atau setara bahasa Anda) dengan dua bilangan bulat yang dipisahkan oleh titik dua. Rasio a:bberarti bahwa poros keluaran harus berputar a/bkali lebih cepat dari poros input.
Output ke output standar harus berupa garis tunggal yang berisi daftar rasio roda gigi yang dipisahkan oleh ruang, dalam bentuk di x:ymana xukuran roda gigi pada poros input dan yadalah ukuran roda gigi pada poros output. Anda harus menggunakan jumlah roda gigi minimum yang dimungkinkan untuk rasio yang diberikan. Masing x- masing dan yharus menjadi salah satu 8,16,24,40.
contoh:
1:5 -> 8:40
10:1 -> 40:8 16:8
9:4 -> 24:16 24:16
7:1 -> IMPOSSIBLE
7:7 ->
6:15 -> 16:40
Jika rasio roda gigi yang diinginkan tidak mungkin, cetak "IMPOSSIBLE". Jika tidak diperlukan roda gigi, cetak string kosong.
Ini kode golf, jawaban terpendek menang.
1:5 -> 8:40dan 10:1 -> 40:8masuk akal tetapi yang lain tidak begitu banyak.
1:5berarti poros keluaran berputar 5 kali lebih lambat, dan 8 gigi pada input dan 40 gigi pada output membuat itu terjadi.
10:1 -> 40:8 16:8, tidak apa yang kamu katakan. Bagaimana dengan yang lain membingungkan Anda? 9:4diimplementasikan melakukan 3:2dua kali. 3:2diimplementasikan menggunakan 24:16.
7:7sama dengan 1:1, jadi tidak memerlukan roda gigi untuk diimplementasikan.