एक प्रोग्राम या फ़ंक्शन लिखें जो एक अजीब सकारात्मक पूर्णांक एन और दशमलव अंकों की एक स्ट्रिंग ( 0123456789
) में लेता है । स्ट्रिंग एक दस-राज्य एक-आयामी सेलुलर ऑटोमेटन का प्रतिनिधित्व करता है । प्रत्येक अंक में एक कोशिका होती है और एक पीढ़ी से दूसरी पीढ़ी तक अद्यतन नियम यह होता है कि प्रत्येक कोशिका, कोशिका १ पर आधारित एन कोशिकाओं के योग से उत्पन्न अंक बन जाती है, मोडुलो १०।
पहली और आखिरी कोशिकाएं इधर-उधर लपेटती हैं जैसे कि पड़ोसी, इसलिए कोशिकाओं में हमेशा एन कोशिकाएं हो सकती हैं। ध्यान दें कि एन स्ट्रिंग की लंबाई से बड़ा हो सकता है, जिसका अर्थ है कि यह कई बार लपेट सकता है और कुछ अंक तदनुसार कई बार योग में होगा।
एक उदाहरण के रूप में, यदि N 7 है और स्ट्रिंग है 038
, तो कोशिकाओं को कल्पना करने के लिए कि हम 038
दोनों दिशाओं में असीम दोहराव लिख सकते हैं
...038038038038038...
फिर वह अंक जो 0
वसीयत में बदल जाएगा, वह 7 अंकों का योग है, जो किसी भी ओर केंद्रित है 0
, modulo 10:
...038038038038038...
^_____^
|
sum all these
यह वह जगह है (0+3+8+0+3+8+0)%10
जो, 2
।
इसी प्रकार अंकों 3
और 8
में क्रमशः (3+8+0+3+8+0+3)%10
= 5
और (8+0+3+8+0+3+8)%10
= द्वारा परिभाषित किया 0
गया है।
इस प्रकार, पीढ़ी के बाद 038
है 250
जब एन 7 है।
आपके प्रोग्राम या फ़ंक्शन को इनपुट डिजिट स्ट्रिंग की अगली पीढ़ी के अंक स्ट्रिंग को प्रिंट या वापस करने की आवश्यकता है। यानी प्रत्येक सेल में एक बार अपडेट नियम लागू करें और आउटपुट दें। बाइट्स में सबसे छोटा कोड जीतता है।
परीक्षण के मामलों
[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