समस्या का विवरण
कल्पना कीजिए कि आप ग्रिड पर एक कछुए हैं। आपको दो नंबर f और b दिए गए हैं , और आप पूर्व की ओर मुंह कर रहे हैं। आप निम्न नियमों के अनुसार, आपके द्वारा सामना की जाने वाली कोशिकाओं में से प्रत्येक की गिनती करते हुए, ग्रिड के पार मार्च करते हैं:
- डिफ़ॉल्ट रूप से, आप उस सेल की गणना लिखते हैं, जिसमें आप आगे बढ़ते हैं।
- यदि गिनती f से विभाज्य है , तो आप
F
उस सेल को लिखते हैं जिसमें आप हैं, फिर दाएं मुड़ें, फिर आगे चलें। - यदि गिनती b से विभाज्य है , तो आप
B
उस सेल को लिखते हैं जिसमें आप हैं, फिर बाएं मुड़ें, फिर आगे चलें। - यदि गिनती f और b दोनों से विभाज्य है
FB
, तो आप उस सेल को लिखते हैं , जिसमें आप हैं, फिर आगे चलें। - यदि आप एक वर्ग तक पहुँचते हैं, तो आप पहले से ही हैं, तो आप रुक जाते हैं।
उदाहरण के लिए, f = 3 और b = 5 का उपयोग करते हुए इन नियमों का पालन करना इस तरह एक पैटर्न उत्पन्न करेगा:
F 28 29 FB 1 2 F
26 4
F B B F
23 7
22 8
F B B F
19 11
F 17 16 FB 14 13 F
चुनौती
एक प्रोग्राम या फ़ंक्शन लिखिए जो f और b के अनुरूप इनपुट के रूप में दो संख्याओं को स्वीकार करता है , और उपरोक्त नियमों द्वारा दिए गए इन नंबरों के लिए पैटर्न के रूप में उत्पादन करता है।
स्वरूपण आवश्यकताएँ:
- प्रत्येक कोशिका दो वर्ण चौड़ी होती है
- इन दो वर्णों के भीतर सेल सामग्री सही संरेखित है
- एक ही पंक्ति के सेल को एक स्थान द्वारा सीमांकित किया जाता है
- कक्षों के पहले स्तंभ में एक गैर-रिक्त कक्ष होना चाहिए
- सभी पंक्तियों में गैर-रिक्त कक्ष होना चाहिए
- ट्रेलिंग व्हाट्सएप की आवश्यकता नहीं है, लेकिन अनुमति दी गई है
- हालांकि, प्रत्येक पंक्ति की कुल चौड़ाई गैर-खाली कॉलम की संख्या से 3 गुना से अधिक नहीं होनी चाहिए
आपका कोड प्रदान किए गए परीक्षण मामलों के लिए काम करना चाहिए।
मानक खामियों को अस्वीकार कर दिया जाता है।
यह कोड गोल्फ है; बाइट्स जीत में सबसे कम जवाब।
परीक्षण के मामलों
(f = 3, b = 5 मामला यहां एक शिष्टाचार सुविधा के रूप में दोहराया गया)।
f=3, b=5 ->
F 28 29 FB 1 2 F
26 4
F B B F
23 7
22 8
F B B F
19 11
F 17 16 FB 14 13 F
f=4, b=10 ->
F 25 26 27 F
23 29
22 1 2 3 F
21 5
FB 6
19 7
18 B 9 F
17 11
F 15 14 13 F
f=3, b=11 ->
F 16 17 F
14 19
13 1 2 F
F B 4
10 5
F 8 7 F
f=5, b=9 ->
F 41 42 43 44 1 2 3 4 F
39 6
38 7
37 8
F B B F
34 11
33 12
32 13
31 14
F 29 28 B B 17 16 F
26 19
F 24 23 22 21 F
f=5, b=13 ->
F 31 32 33 34 F
29 36
28 1 2 3 4 F
27 6
F B 7
24 8
23 9
22 B 12 11 F
21 14
F 19 18 17 16 F