एक सुंदर बॉक्स का उत्पादन


17

आपकी चुनौती निम्नलिखित बॉक्स को बिल्कुल आउटपुट करने की है:

..................................................
..................................................
..                                              ..
..                                              ..
..  ++++++++++++++++++++++++++++++++++++++++++  ..
..  ++++++++++++++++++++++++++++++++++++++++++  ..
..  ++                                      ++  ..
..  ++                                      ++  ..
..  ++  ..................................  ++  ..
..  ++  ..................................  ++  ..
..  ++  ..                              ..  ++  ..
..  ++  ..                              ..  ++  ..
..  ++  ..  ++++++++++++++++++++++++++  ..  ++  ..
..  ++  ..  ++++++++++++++++++++++++++  ..  ++  ..
..  ++  ..  ++                      ++  ..  ++  ..
..  ++  ..  ++                      ++  ..  ++  ..
..  ++  ..  ++  ..................  ++  ..  ++  ..
..  ++  ..  ++  ..................  ++  ..  ++  ..
..  ++  ..  ++  ..              ..  ++  ..  ++  ..
..  ++  ..  ++  ..              ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++++++++++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++++++++++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++      ++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++      ++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++  ..  ++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++  ..  ++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++      ++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++      ++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++++++++++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++++++++++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..              ..  ++  ..  ++  ..
..  ++  ..  ++  ..              ..  ++  ..  ++  ..
..  ++  ..  ++  ..................  ++  ..  ++  ..
..  ++  ..  ++  ..................  ++  ..  ++  ..
..  ++  ..  ++                      ++  ..  ++  ..
..  ++  ..  ++                      ++  ..  ++  ..
..  ++  ..  ++++++++++++++++++++++++++  ..  ++  ..
..  ++  ..  ++++++++++++++++++++++++++  ..  ++  ..
..  ++  ..                              ..  ++  ..
..  ++  ..                              ..  ++  ..
..  ++  ..................................  ++  ..
..  ++  ..................................  ++  ..
..  ++                                      ++  ..
..  ++                                      ++  ..
..  ++++++++++++++++++++++++++++++++++++++++++  ..
..  ++++++++++++++++++++++++++++++++++++++++++  ..
..                                              ..
..                                              ..
..................................................
..................................................

बॉक्स ऊंचाई और चौड़ाई 50 है, रिक्त स्थान दो विस्तृत हैं।

आपको एक फ़ंक्शन या प्रोग्राम लिखना होगा जो एक स्ट्रिंग को आउटपुट या रिटर्न करता है और कोई इनपुट नहीं लेता है।

सबसे शानदार बाइट्स जीतता है!


4
किसी भी कारण से अंतरतम +बॉक्स में केवल ऊपर और नीचे 1 परत होती है? यह एल्गोरिथ्म-आधारित उत्तर को कुछ लंबा कर देगा, क्योंकि इसका मतलब है कि दो परतें बिल्कुल चौकोर नहीं हैं।
ETHproductions

@Pavel ठीक है। क्लोज-वोट वापस हो गया :)
डिजिटल ट्रॉमा

4
पूर्ण कार्यक्रम पर प्रतिबंध क्यों?
18

1
@ फावड़ा क्यों? यह वास्तव में चुनौती के लिए कुछ भी नहीं जोड़ता है।
R

1
@ पावेल ..... नहीं। मेरा मतलब है कि कुछ के पास है, लेकिन यह केजी चुनौतियों के लिए एक आवश्यकता / मानक तक नहीं है।
R

जवाबों:



14

जे , 25 बाइट्स

echo'. + '{~4|>./~2#|i:12

इसे ऑनलाइन आज़माएं!

व्याख्या

echo'. + '{~4|>./~2#|i:12
                     i:12  Range from -12 to 12.
                    |      Take absolute values,
                  2#       duplicate every element,
                /~         compute "multiplication table"
              >.           using maximum,
            4|             take mod 4 of every element,
    '. + '{~               index into this string,
echo                       print char matrix for everyone to see.

मुझे लगता है कि आप प्रतिध्वनि छोड़ सकते हैं।
कॉनर ओ'ब्रायन

@ ConorO'Brien ओह, आउटपुट नियम बदल गया। ... हम्म, लेकिन अगर मैं हटाता हूं echo, तो यह भी एक फ़ंक्शन नहीं होगा, बस एक मूल्य है। हालांकि J में शून्य तर्क कार्य नहीं हैं।
ज़र्गब

मुझे लगता है कि J की उत्तर प्रकृति के अनुसार इसकी अनुमति है। किसी भी मामले में, निरंतर कार्यों को शून्य-तर्क माना जा सकता है।
कॉनर ओ'ब्रायन

11

सी, 115 बाइट्स

#define M(x,y)x<(y)?x:y
f(i){for(i=2549;i;i--)putchar(i%51?". + "[(M(i%51-1,M(50-i%51,M(i/51,49-i/51))))/2%4]:10);}

एक फ़ंक्शन f(जैसे कॉल f();) को परिभाषित करता है जो स्ट्रिंग को STDOUT में प्रिंट करता है।


9

सी, 535 478 477 बाइट्स

अब वह बहुत गोल्फ है: - /

i;main(j){for(;++i<51;puts(""))for(j=0;++j<51;)putchar(i<3|i>48?46:j<3|j>48?46:i>4&i<47&j>4&j<47?i<7|(i>44&i<47)|(j>2&j<7)|(j>44&j<47)?43:j>8&j<43&((i>8&i<11)|(i>40&i<43))?46:i>9&i<41&((j>8&j<11)|(j>40&j<43))?46:i>13&i<37&((j>12&j<15)|(j>36&j<39))?43:((i>12&i<15)|(i>36&i<39))&j>12&j<39?43:i>17&i<33&((j>16&j<19)|(j>32&j<35))?46:((i>16&i<19)|(i>32&i<35))&j>16&j<35?46:i>21&i<29&((j>20&j<23)|(j>28&j<31))?43:((i>20&i<23)|(i>28&i<31))&j>20&j<31?43:i>24&i<27&j>24&j<27?46:32:32);}

यहाँ आउटपुट है;

..................................................
..................................................
..                                              ..
..                                              ..
..  ++++++++++++++++++++++++++++++++++++++++++  ..
..  ++++++++++++++++++++++++++++++++++++++++++  ..
..  ++                                      ++  ..
..  ++                                      ++  ..
..  ++  ..................................  ++  ..
..  ++  ..................................  ++  ..
..  ++  ..                              ..  ++  ..
..  ++  ..                              ..  ++  ..
..  ++  ..  ++++++++++++++++++++++++++  ..  ++  ..
..  ++  ..  ++++++++++++++++++++++++++  ..  ++  ..
..  ++  ..  ++                      ++  ..  ++  ..
..  ++  ..  ++                      ++  ..  ++  ..
..  ++  ..  ++  ..................  ++  ..  ++  ..
..  ++  ..  ++  ..................  ++  ..  ++  ..
..  ++  ..  ++  ..              ..  ++  ..  ++  ..
..  ++  ..  ++  ..              ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++++++++++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++++++++++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++      ++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++      ++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++  ..  ++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++  ..  ++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++      ++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++      ++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++++++++++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++++++++++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..              ..  ++  ..  ++  ..
..  ++  ..  ++  ..              ..  ++  ..  ++  ..
..  ++  ..  ++  ..................  ++  ..  ++  ..
..  ++  ..  ++  ..................  ++  ..  ++  ..
..  ++  ..  ++                      ++  ..  ++  ..
..  ++  ..  ++                      ++  ..  ++  ..
..  ++  ..  ++++++++++++++++++++++++++  ..  ++  ..
..  ++  ..  ++++++++++++++++++++++++++  ..  ++  ..
..  ++  ..                              ..  ++  ..
..  ++  ..                              ..  ++  ..
..  ++  ..................................  ++  ..
..  ++  ..................................  ++  ..
..  ++                                      ++  ..
..  ++                                      ++  ..
..  ++++++++++++++++++++++++++++++++++++++++++  ..
..  ++++++++++++++++++++++++++++++++++++++++++  ..
..                                              ..
..                                              ..
..................................................
..................................................

2
पवित्र शिट। मैं आपके समर्पण की प्रशंसा करता हूं।
R

मैंने प्रतिबंध को बदल दिया है, ऐसे कार्य जो एक स्ट्रिंग लौटाते हैं, अब अनुमति दी जाती है।
पावेल

मुझे बस एहसास हुआ कि मैं छोरों को फिर से लिखने के लिए कुछ बाइट्स को गोल्फ कर सकता हूं for(;i++<51;और अब मैं हर जगह एक-दूसरे से दूर हूं: - /
क्लेब्लांक

@cleblanc ++i
dkudriavtsev

MFW मैं इसे समझने की कोशिश करने लगा: i.imgur.com/TLV9gJ4.png +1
मैजिक ऑक्टोपस Urn

6

हास्केल, 72 बाइट्स

q=(\n->[n,n]).abs=<<[-12..12]
unlines[[". + "!!mod(max x y)4|y<-q]|x<-q]

@ हास्केल में जगरब का हल । मैंने कोर के चारों ओर परतों को जोड़कर बॉक्स का निर्माण करने की कोशिश की है ["..",".."], लेकिन यह 9 बाइट्स लंबा (81 बाइट्स) है।

e!b=e:e:b++[e,e];s#c=(c!)<$>(c<$s!!0)!s
unlines$foldl(#)["..",".."]" + . + . + ."

5

स्टैक्ड, नॉन-कमिंग, 35 बाइट्स

यहाँ यह कोशिश करो!

ε'.'3$' + .'2*tostr*+$surroundfold

Ungolfed:

'' '.  ++  ..  ++  ..  ++  ..' $surround fold

काफी सरल। surroundएक ऐसा फंक्शन है, जो किसी इकाई को भरने वाली इकाई से घिरा है। उदाहरण के लिए, (0) 1 surroundहै ((1 1 1) (1 0 1) (1 1 1))$surroundहै surroundएक समारोह के रूप, मूल्यांकन नहीं। foldएक प्रारंभिक मूल्य लेता है, फिर कुछ मोड़ने के लिए, फिर एक फ़ंक्शन। इस मामले में, surroundहै foldएड, शुरू में रिक्त स्ट्रिंग आसपास ''(समतुल्य। ε) स्ट्रिंग से प्रत्येक चरित्र के साथ।

'.'3$' + .'2*tostr*+

यह पहली बार एक चरित्र स्ट्रिंग बना रहा है $' + .', कि, जब एक संख्या से गुणा किया जाता है, प्रत्येक वर्ण को दोहराता है। यह हमें छोड़ देता है ++ ..:। यह तब एक स्ट्रिंग के लिए डाली जाती है। फिर, हम इस स्ट्रिंग को तीन बार दोहराते हैं, और अंत में एक प्रीपेंड करते हैं ., जिससे हमें वांछित स्ट्रिंग मिलती है।


39 बाइट्स के लिए एक अलग दृष्टिकोण:

' .'3$' + .'2*tostr*+toarr$surround#\out

#\डालने और प्रारंभिक मूल्य के रूप में स्ट्रिंग के प्रारंभिक चार लेता है। यह केवल Arrays पर भी काम करता है।


यह नॉन-कमिंग कैसी है, यह चुनौती कुछ घंटे पहले ही सामने आई थी।
पावेल

@ फावेल मैं हमेशा इस पर काम कर रहा हूं
कॉनर ओ'ब्रायन

4

जावास्क्रिप्ट (ईएस 6), 117 बाइट्स

f=(n=12,c=`. + `[n%4],t=c.repeat(n*4+2))=>n?t+`
${t}
${f(n-1).replace(/^|$/gm,c+c)}
${t}
`+t:`..
..`
console.log(f())

गैर-समाधान समाधान ने मुझे 128 बाइट्स दिए:

console.log([...Array(100)].map((_,i,a)=>a.map((_,j)=>`. + `[j=j>50?j-50:51-j,(i>j?i:j)%8>>1],i=i>50?i-50:51-i).join``).join`\n`)

जहां \nशाब्दिक न्यूलाइन चरित्र का प्रतिनिधित्व करता है।


4

सी, 97 बाइट्स

i,x,y;main(){for(;i<2550;putchar(++i%51?". + "[(x*x<y*y?y:x)&3]:10))x=i%51/2-12,y=i/102-12;}

3

जेली , 18 बाइट्स

12ŒRAx2»þ`ị“ + .”Y

इसे ऑनलाइन आज़माएं!

जगरब के जे जवाब के रूप में एक ही दृष्टिकोण: हर तत्व को दो बार दोहराता 12ŒRAहै abs([-12 … 12]), अधिकतम एक तालिका बनाता है, एक स्ट्रिंग में चक्रीय अनुक्रमित करता है, और नए सिरे से जुड़ता है।x2»þ`ị“ + .”Y


3

05AB1E , 39 35 33 बाइट्स

•â3fM~•3B…012… .+‡.pvyD¤sg25s-׫«})«»

इसे ऑनलाइन आज़माएं!

•â3fM~•3B                               # Push 1100220011002200110022001
         …012… .+‡                      # Push ..  ++  ..  ++  ..  ++  .
                  .p                    # All prefixes of the above string.
                    vy            }     # For each prefix.
                      D¤sg25s-×         # Repeat the last letter until length is 25.
                               «Â«      # Concat, bifurcate, concat.
                                   )«» # Wrap to array, bifurcate, concat, print.

33 बाइट संस्करण जो अब ठंडा है क्योंकि एमिग्ना ने टिप्पणी की कि मुझे 2 बाइट्स बचानी हैं:

". + "DøJ3×'.«.pvy¤25yg-׫«})«»

इसे ऑनलाइन आज़माएं!


1
". + "DøJ3×'.«.pvy¤25yg-׫«})«»33 बाइट्स के लिए।
एमिगा

… .+•â3fM~•3BSè.pvy¤25yg-׫«})«»"कूलर संस्करण" पर 34 बाइट्स के लिए।
इमीना

कूल शब्द हाहा का सही विकल्प नहीं था। "कम यहूदी बस्ती", हो सकता है?
मैजिक ऑक्टोपस Urn

मैं उपसर्ग कमांड के आपके उपयोग से प्यार करता हूं। प्रतिभाशाली!
इमीना

1
@Emigna उपसर्ग एक त्रिकोण बनाते हैं, यदि आप त्रिकोण को स्थानांतरित करते हैं और इसे घुमाते हैं, तो इसे मूल उपसर्गों के साथ मिलाएं जो आप बाइट्स दाढ़ी बनाने में सक्षम हो सकते हैं। यह मुख्य योजना थी जिसे मैं प्राप्त नहीं कर सकता था।
मैजिक ऑक्टोपस Urn





1

हास्केल, 385 बाइट्स

    b 0 = ["..", ".."]
b n = f:f:s:s:m (b (n - 1)) ++s:s:f:f:[]
    where f = replicate (8*n+2) $ d
          s = l++replicate ((8*n)-6) ' ' ++r
          m (x:xs) = map (\x -> l ++ x ++ r ) $ t
          l = d:d:' ':' ':[]
          r = reverse l
          t = b (n - 1)
          d :: Char
          d | n `mod` 2 == 0 = '.'
            | n `mod` 2 == 1 = '+'
main = mapM_ putStrLn $ b 6

यहां कोड गोल्फ का पहला राउंड ... यह देखने के लिए उत्सुक हैं कि अन्य लोग इससे कैसे निपटते हैं।

आउटपुट:

..................................................
..................................................
..                                              ..
..                                              ..
..  ++++++++++++++++++++++++++++++++++++++++++  ..
..  ++++++++++++++++++++++++++++++++++++++++++  ..
..  ++                                      ++  ..
..  ++                                      ++  ..
..  ++  ..................................  ++  ..
..  ++  ..................................  ++  ..
..  ++  ..                              ..  ++  ..
..  ++  ..                              ..  ++  ..
..  ++  ..  ++++++++++++++++++++++++++  ..  ++  ..
..  ++  ..  ++++++++++++++++++++++++++  ..  ++  ..
..  ++  ..  ++                      ++  ..  ++  ..
..  ++  ..  ++                      ++  ..  ++  ..
..  ++  ..  ++  ..................  ++  ..  ++  ..
..  ++  ..  ++  ..................  ++  ..  ++  ..
..  ++  ..  ++  ..              ..  ++  ..  ++  ..
..  ++  ..  ++  ..              ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++++++++++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++++++++++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++      ++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++      ++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++  ..  ++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++  ..  ++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++      ++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++      ++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++++++++++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..  ++++++++++  ..  ++  ..  ++  ..
..  ++  ..  ++  ..              ..  ++  ..  ++  ..
..  ++  ..  ++  ..              ..  ++  ..  ++  ..
..  ++  ..  ++  ..................  ++  ..  ++  ..
..  ++  ..  ++  ..................  ++  ..  ++  ..
..  ++  ..  ++                      ++  ..  ++  ..
..  ++  ..  ++                      ++  ..  ++  ..
..  ++  ..  ++++++++++++++++++++++++++  ..  ++  ..
..  ++  ..  ++++++++++++++++++++++++++  ..  ++  ..
..  ++  ..                              ..  ++  ..
..  ++  ..                              ..  ++  ..
..  ++  ..................................  ++  ..
..  ++  ..................................  ++  ..
..  ++                                      ++  ..
..  ++                                      ++  ..
..  ++++++++++++++++++++++++++++++++++++++++++  ..
..  ++++++++++++++++++++++++++++++++++++++++++  ..
..                                              ..
..                                              ..
..................................................
..................................................

3
1) आपके पास अनावश्यक व्हाट्सएप के टन हैं। 2) सभी कार्य परिभाषाओं whereको एक पंक्ति में रखें और ;पृथक्करण के लिए उपयोग करें । 3) f:f:[]है f:[f] and d: '': '': [] `है d:" "। 4) mएक पैरामीटर लेता है लेकिन इसका उपयोग नहीं करता है। इनलाइन mऔर t। 5) एक नए फ़ंक्शन #को बदलने के लिए परिभाषित करें replicate: c#x=c<$[1..8*n+x]और इसे कॉल करें जैसे d#2और ' '#(-6)। 6) mod 2 == 0के साथ प्रतिस्थापित किया जा सकता है even, या परीक्षण और उपयोग फ्लिप oddऔर गोल्फर otherwise: 1<2। ...
नीमी

2
... सब सब में b n=f:f:s:s:map(\x->l++x++r)(b$n-1)++s:s:f:[f]where f=d#2;s=l++' '#(-6)++r;l=d:d:" ";r=reverse l;d|odd n='+'|1<2='.';c#x=c<$[1..8*n+x]:।
nimi

1

ऑक्टेव, 53 बाइट्स

 '.  ++  .'(mod(bsxfun(@max,x=[24:-1:0 0:24],x'),8)+1)

केंद्र के बाहर से 1 से 8 का दोहराव पैटर्न उत्पन्न करें और इसे तत्वों के निष्कर्षण के लिए सूचकांक के रूप में उपयोग करें . ++ .

यह ऑनलाइन की कोशिश करो!


1

बैश, 191 बाइट्स

echo H4sIAGUcgFgAA73VOw7AIAyD4b2n6F6J+x+v6k5CnPy1F6ZPAvNaS80li4/cUvrkKWdGapOak3O5DDmVS5G8XI5k5ZIkLpclUbk02ZfLk125f5B4JIljLY59cZwxx31x3H3HO5aFIo7/pZIpqWZClHSJmg55AeBhTxb2CQAA|base64 -d|gunzip

शायद छोटा हो सकता है, लेकिन मेरे एल्गोरिदम के प्रयासों से छोटा था।


1

सी #, 203 बाइट्स

पूरा, पठनीय कार्यक्रम:

using System;
public class P
{
    public static void Main(string[] a)
    {
        Func<string> f = () =>
        {
            var z = 25;
            var t = "";
            Func<int, string> c = (q) => q % 4 == 0 ? ".." : (q % 4 != 2 ? "  " : "++");
            for (var y = 0; y < z; y++)
            {
                var l = "";
                for (var x = 0; x < z; x++)
                        l += ((y > z / 2) ? (x >= y | x < z - y) : (x < y | x >= z - y)) ? c(x):c(y);
                l += "\n";
                t += l + l;
            }
            return t;
        };

        Console.Write(f());
        Console.ReadKey();
    }
}

गोल्फ समारोह :

()=>{var z=25;var t="";Func<int,string>c=(q)=>q%4==0?"..":(q%4!=2?"  ":"++");for(var y=0;y<z;y++){var l="";for(var x=0;x<z;x++)l+=((y>z/2)?(x>=y|x<z-y):(x<y|x>=z-y))?c(x):c(y);l+="\n";t+=l+l;}return t;};

1

05AB1E , 33 बाइट्स

14G" . +"NL¤¸13N-.׫€D¨Â«èD})¨Â«»

इसे ऑनलाइन आज़माएं!

व्याख्या

14G                               # for N in [1 ... 13]
   " . +"                         # push this string
         NL                       # push range [1 ... N]
           ¤¸13N-.×               # push a list of 13-N repetitions 
                                  # of the last element of the above range
                   «              # concatenate the two ranges
                    €D            # duplicate each element
                      ¨           # remove the last element
                       «         # concatenate a reversed copy to the list
                         è        # use the elements of the list to index into the string
                          D       # duplicate the resulting string
                           }      # end loop
                            )     # wrap the strings in a list
                             ¨    # remove the last element
                              «  # concatenate a reversed copy
                                » # join the list on newlines

आने के लिए स्पष्टीकरण?
पावेल

@ फावड़ा: बेशक! :)
एमिगा

1

पॉवरशेल , 171 151 बाइट्स

($x=(1..12|%{' . +'[$_%4]}|%{($a+=$_+$_)})+"$a."|%{$c=if(++$i%2){('+','.')[($b=!$b)]}else{' '};$_.PadRight(25,$c)}|%{,($_+-join$_[25..0])*2});$x[23..0]

इसे ऑनलाइन आज़माएं!

हो-हम जवाब। मुझे यकीन है कि एक छोटा रास्ता है (अन्य उत्तरों की लंबाई को देखते हुए, मुझे विश्वास है), लेकिन यह कुछ साफ-सुथरी चाल दिखाता है।

स्पष्टीकरण:

1..12|%{' . +'[$_%4]} स्ट्रिंग्स की एक सरणी (लंबाई में एक वर्ण की) उत्पन्न करता है, हमें सही पैटर्न में चाहिए। इसे ऑनलाइन आज़माएं!

हम फिर जोड़ते हैं, |%{($a+=$_+$_)})+"$a."जो सरणी लेता है और पिछली पंक्ति के आधार पर इसे विस्तारित करता है। इसे ऑनलाइन आज़माएं!

उन तार तो, एक पाश में भेजा जाता है |%{$c=if(++$i%2){('+','.')[($b=!$b)]}else{' '};$_.PadRight(25,$c)}। प्रत्येक पुनरावृत्ति, हम सही वर्ण (या तो एक प्लस, एक बिंदु, या एक स्थान) का चयन कर रहे हैं, और फिर .PadRightफ़ंक्शन का उपयोग करके उचित संख्या में वर्णों को पैड करने के लिए। इसे ऑनलाइन आज़माएं!

अब, हमारे पास ऊपरी-दाएं कोने की नींव है। हमें प्रत्येक स्ट्रिंग को उल्टा करने की आवश्यकता है |%{,($_+-join$_[($z=25..0)])*2}और उन्हें एक साथ जोड़ना है ताकि हम ब्लॉक के शीर्ष पर पहुंच सकें। यह -joinकमांड और इंडेक्सिंग बैकवर्ड के साथ किया जाता है 25..0। इसके अतिरिक्त, हम एक सरणी में स्ट्रिंग्स को एनकैप्सुलेट करते हैं ,(...)और उन्हें डबल बनाते हैं *2ताकि हमें पूरे शीर्ष मिलें। इसे ऑनलाइन आज़माएं!

यह सब पार्न्स में जमा हो जाता है $xऔर इसे पाइप लाइन पर रखा जाता है। अंत में, हम रिवर्स $x(डुप्लिकेट-डुप्लिकेट मध्य पंक्ति को बाहर निकालना सुनिश्चित करते हैं, अन्यथा हम ..बीच में चार होते हैं ) और पाइप लाइन पर छोड़ देते हैं। एक निहित Write-Outputस्ट्रिंग्स के बीच एक नई रेखा चिपक जाती है, इसलिए हम इसे मुफ्त में प्राप्त करते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.