Tulis program atau fungsi yang mengambil dalam bilangan bulat positif N dan serangkaian angka desimal ( 0123456789
). Tali mewakili otomat seluler satu dimensi sepuluh negara . Setiap digit menempati satu sel dan aturan pembaruan dari satu generasi ke generasi berikutnya adalah bahwa setiap sel menjadi digit yang dihasilkan dari jumlah sel N yang berpusat pada sel, modulo 10.
Sel pertama dan terakhir membungkus seolah-olah tetangga, sehingga sel selalu dapat memiliki sel N yang berpusat padanya. Perhatikan bahwa N mungkin lebih besar dari panjang string, yang berarti N dapat membungkus beberapa kali dan beberapa digit karenanya akan menjadi jumlah beberapa kali.
Sebagai contoh, jika N adalah 7 dan string adalah 038
, untuk memvisualisasikan sel untuk dijumlahkan, kita dapat menulis 038
berulang di kedua arah
...038038038038038...
maka digit yang 0
akan diubah menjadi jumlah dari 7 digit yang berpusat di sekitar sembarang 0
, modulo 10:
...038038038038038...
^_____^
|
sum all these
Ini (0+3+8+0+3+8+0)%10
, yang 2
.
Demikian pula digit 3
dan 8
berubah menjadi didefinisikan oleh (3+8+0+3+8+0+3)%10
= 5
dan (8+0+3+8+0+3+8)%10
= 0
masing-masing.
Jadi, generasi berikutnya 038
adalah 250
ketika N adalah 7.
Program atau fungsi Anda perlu mencetak atau mengembalikan string digit generasi berikutnya dari string digit input. yaitu menerapkan aturan pembaruan satu kali untuk setiap sel dan memberikan output. Kode terpendek dalam byte menang.
Uji Kasus
[digit string] -> [N = 1], [N = 3], [N = 5], [N = 7], [N = 9], [N = 43]
0 -> 0, 0, 0, 0, 0, 0
1 -> 1, 3, 5, 7, 9, 3
2 -> 2, 6, 0, 4, 8, 6
3 -> 3, 9, 5, 1, 7, 9
4 -> 4, 2, 0, 8, 6, 2
5 -> 5, 5, 5, 5, 5, 5
6 -> 6, 8, 0, 2, 4, 8
7 -> 7, 1, 5, 9, 3, 1
8 -> 8, 4, 0, 6, 2, 4
9 -> 9, 7, 5, 3, 1, 7
00 -> 00, 00, 00, 00, 00, 00
07 -> 07, 47, 41, 81, 85, 47
10 -> 10, 12, 32, 34, 54, 12
11 -> 11, 33, 55, 77, 99, 33
12 -> 12, 54, 78, 10, 34, 54
34 -> 34, 10, 78, 54, 12, 10
66 -> 66, 88, 00, 22, 44, 88
80 -> 80, 86, 46, 42, 02, 86
038 -> 038, 111, 294, 250, 333, 472
101 -> 101, 222, 343, 545, 666, 989
987 -> 987, 444, 901, 765, 222, 543
1234 -> 1234, 7698, 3412, 9876, 1234, 7698
26697 -> 26697, 54128, 00000, 56982, 84413, 54128
001002 -> 001002, 211122, 331332, 335334, 455544, 113112
129577020 -> 129577020, 326194923, 474081605, 961120291, 333333333, 183342413
6023845292173530 -> 6023845292173530, 6853571632015189, 1197228291289874, 9238433109901549, 0110956118726779, 1982123699138828