Saya pikir sebagian besar orang di sini tahu apa tampilan 7-segmen untuk digit:
_ _ _ _ _ _ _ _
| | | _| _| |_| |_ |_ | |_| |_|
|_| | |_ _| | _| |_| | |_| _|
Kita dapat mendefinisikan perbedaan 7-segmen (7SD) antara dua digit menjadi jumlah segmen yang perlu diaktifkan untuk beralih dari satu ke yang lain. Misalnya 7SD antara 1
dan 2
adalah 5 (tiga segmen horisontal dan lebih rendah dua segmen vertikal perlu toggle), dan 7SD antara 6 dan 8 adalah 1 .
Selanjutnya, kita dapat mendefinisikan 7SD antara dua angka menjadi jumlah 7SD antara digit yang sesuai. Jika satu nomor lebih panjang dari yang lain, kami mengasumsikan mereka benar-rata dan menambahkan jumlah segmen yang diperlukan untuk menampilkan digit tambahan paling signifikan dari nomor yang lebih besar. Sebagai contoh, perhatikan 7SD antara 12345
dan 549
:
x: 1 2 3 4 5
y: 5 4 9
7SD: 2+5+2+0+1 = 10
Tugas Anda adalah menghitung 7SD antara n dan n +1 , diberikan n .
Untuk kenyamanan, berikut adalah tabel lengkap 7SD antara masing-masing digit. Baris _
mewakili posisi kosong.
_ 0 1 2 3 4 5 6 7 8 9
_ 0 6 2 5 5 4 5 6 3 7 6
0 6 0 4 3 3 4 3 2 3 1 2
1 2 4 0 5 3 2 5 6 1 5 4
2 5 3 5 0 2 5 4 3 4 2 3
3 5 3 3 2 0 3 2 3 2 2 1
4 4 4 2 5 3 0 3 4 3 3 2
5 5 3 5 4 2 3 0 1 4 2 1
6 6 2 6 3 3 4 1 0 5 1 2
7 3 3 1 4 2 3 4 5 0 4 3
8 7 1 5 2 2 3 2 1 4 0 1
9 6 2 4 3 1 2 1 2 3 1 0
Memasukkan
- Input adalah bilangan bulat positif tunggal
n
. - Anda dapat menulis program atau fungsi, mengambil input melalui STDIN (atau alternatif terdekat), argumen baris perintah atau argumen fungsi.
- Anda dapat mengasumsikan bahwa input paling banyak kurang dari jumlah terbesar yang dapat diwakili oleh tipe integer standar bahasa Anda, selama tipe tersebut mendukung setidaknya nilai hingga dan termasuk 127.
Keluaran
- Anda harus mencetak satu bilangan bulat, 7SD antara
n
dann+1
. - Anda dapat menampilkan melalui STDOUT (atau alternatif terdekat), nilai pengembalian fungsi atau argumen fungsi (keluar).
Mencetak gol
Standar kode-golf aturan berlaku, kode terpendek (dalam bytes) menang.
Uji Kasus
Untuk beberapa alasan yang tidak jelas, urutan ini belum ada dalam OEIS, meskipun ada urutan yang terkait erat A123587 . Berikut adalah 100 angka pertama (dimulai dengan n = 1, 2, 3, ...
):
5, 2, 3, 3, 1, 5, 4, 1, 4, 4, 5, 2, 3, 3, 1, 5, 4, 1, 7, 4, 5, 2, 3, 3, 1,
5, 4, 1, 4, 4, 5, 2, 3, 3, 1, 5, 4, 1, 5, 4, 5, 2, 3, 3, 1, 5, 4, 1, 5, 4,
5, 2, 3, 3, 1, 5, 4, 1, 3, 4, 5, 2, 3, 3, 1, 5, 4, 1, 7, 4, 5, 2, 3, 3, 1,
5, 4, 1, 6, 4, 5, 2, 3, 3, 1, 5, 4, 1, 3, 4, 5, 2, 3, 3, 1, 5, 4, 1, 6, 4
Input pertama yang 7SD lebih besar dari 9 adalah 1999
yang harus menghasilkan 11. Berikut adalah beberapa contoh yang lebih besar:
n 7SD
1999 11
12345 1
999999 14
5699999 15
8765210248 1