Katakanlah saya berjarak sepuluh langkah dari tujuan saya. Saya berjalan di sana mengikuti pepatah lama, "Dua langkah maju dan satu langkah mundur". Saya mengambil dua langkah maju, satu mundur, sampai saya berdiri tepat di tempat tujuan saya. (Ini mungkin melibatkan melangkah melewati tujuan saya, dan kembali ke sana). Berapa langkah saya berjalan?
Tentu saja, saya mungkin tidak 10 langkah lagi. Saya mungkin 11 langkah jauhnya, atau 100. Saya bisa mengukur sepuluh langkah, dan terus berjalan bolak-balik untuk menyelesaikan masalah, atau ... Saya bisa menulis beberapa kode!
- Tulis fungsi untuk menghitung berapa langkah yang diperlukan untuk mendapatkan N langkah menjauh, secara berurutan: dua langkah maju, satu langkah mundur.
- Asumsikan Anda sudah mulai pada langkah 0. Hitung "dua langkah ke depan" sebagai dua langkah, bukan satu.
- Asumsikan semua langkah adalah panjang yang seragam.
- Ini harus mengembalikan jumlah langkah yang pertama kali diambil ketika Anda mencapai ruang itu. (Misalnya, 10 langkah jauhnya membutuhkan 26 langkah, tetapi Anda akan menekannya lagi pada langkah 30). Kami tertarik pada 26.
- Gunakan bahasa apa pun yang Anda suka.
- Ini harus menerima bilangan bulat positif sebagai masukan. Ini mewakili langkah target.
- Jumlah byte terkecil menang.
Contoh:
Saya ingin mendapatkan 5 langkah:
| | | | | | <- I'm at step 0, not yet on the grid.
| |X| | | | <- I take two steps forward, I'm on step 2: the count is 2
|X| | | | | <- I take one step back, I'm on step 1: the count is 3
| | |X| | | <- I take two steps forward, I'm on step 3: the count is 5
| |X| | | | <- I take one step back, I'm on step 2 again: the count is 6
| | | |X| | <- I take two steps forward, I'm on step 4: the count is 8
| | |X| | | <- I take one step back, I'm on step 3 again: the count is 9
| | | | |X| <- I take two steps forward, I'm on step 5: the count is 11
Dalam hal ini, hasil dari fungsinya adalah 11.
Contoh hasil:
1 => 3
5 => 11
9 => 23
10 => 26
11 => 29
100 => 296
1000 => 2996
10000 => 29996
100000 => 299996
Selamat bersenang-senang, pegolf!