অ্যান্টিফেরোম্যাগনেটিক অর্ডারিং


16

অ্যান্টিফেরোম্যাগনেটিক অর্ডারিং

অ্যান্টিফেরোম্যাগনেটিজম হ'ল আইবিএম গবেষকরা একই পরিমাণে পরমাণুতে 1 টেরাবাইট ডিস্ক থেকে 100 টেরাবাইট ডিস্কে ঝাঁপিয়ে পড়তেন

অ্যান্টিফেরোম্যাগনেটিজম প্রদর্শনকারী উপকরণগুলিতে, পরমাণু বা অণুগুলির চৌম্বকীয় মুহুর্তগুলি সাধারণত ইলেকট্রনের স্পিনগুলির সাথে সম্পর্কিত হয়, প্রতিবেশী স্পিনগুলির সাথে নিয়মিত বিন্যাসে বিভক্ত হয় (বিভিন্ন সাবলেটেস) বিপরীত দিক নির্দেশ করে।

আপনার কাজ হ'ল একটি প্রোগ্রাম লিখুন যা উপরের চিত্রের মতো অ্যান্টিফেরোম্যাগনেটিক পরমাণুর ক্রম আঁকবে। আপনার অবশ্যই কমপক্ষে চারটি জোড়া রাখতে সক্ষম হবেন, যদিও আপনার আরও বেশি থাকতে পারে may

প্রতিটি জোড়া অবশ্যই নীচে প্রদর্শিত হবে, যদিও এগুলি অবশ্যই প্রকৃত তীর :

 উপর নিচ
নীচ থেকে উপরে
 উপর নিচ

আপনার আউটপুট আসকি শিল্প বা গ্রাফিকাল আউটপুট হতে পারে।

আপনি কেবল একটি ক্রিয়াকলাপ বা একটি সম্পূর্ণ প্রোগ্রাম তৈরি করতে পারেন তবে এটি অবশ্যই একটি ইনপুট নিতে পারে এবং বহু জোড়া আঁকতে হবে। শুধুমাত্র শব্দ সহ উদাহরণ :

ইনপুট: 1

 উপর নিচ
নীচ থেকে উপরে
 উপর নিচ

ইনপুট: 2

 উপরে নিচে উপরে 
নিচে উপরে ডাউন  
 উপরে নিচে উপরে

গ্রহণযোগ্য তীর:

  • এবং
  • এবং
  • /|\ এবং \|/

এটি পড়ার পক্ষে সহজ , দয়া করে আপনার উত্তরগুলি ভাষা, এক্স বাইট ফর্ম্যাটে রাখুন। সর্বনিম্ন বাইট জিতেছে!


5
"যে কোনও তীর" আমার কাছে বেশ অস্পষ্ট মনে হচ্ছে - কী ^v?
Sp3000

1
@ Sp3000 না, কারণ তাদের কাছে ছোট লেজ নেই।
ফেজ

2
এই তীরগুলি অনুমোদিত: এবং ? ( ইউনিকোড কোড পয়েন্ট U + 21C5 এবং U + 21F5 )
ডিজিটাল ট্রমা

1
পুনঃটুইট
পর্যায়ক্রমে

11
@ ফেজ আমি আপনার সম্পাদনাটি ফিরিয়ে দিয়েছি। স্কোরিংকে বাইট থেকে অক্ষরে পরিবর্তন করা এই উত্তরগুলির অনেকের জন্য স্কোরকে উল্লেখযোগ্যভাবে পরিবর্তন করবে। 15 টি উত্তর পাওয়ার পরে নিয়মগুলি পরিবর্তন করা সাধারণভাবে প্রত্যাখ্যান করা হয়।
ডিজিটাল ট্রমা

উত্তর:


16

এপিএল, 18 12 বাইট

⍉(2×⎕)3⍴'↑↓'

এটি একটি 2n x 3 ম্যাট্রিক্স তৈরি করে, যেখানে এনগুলি ইনপুট ( ) হয়, এটি অক্ষর দ্বারা ভরা হয় এবং এরপরে এই ম্যাট্রিক্সের ট্রান্সপোজ ( ) মুদ্রিত হয়।

আপনি এটি অনলাইনে চেষ্টা করতে পারেন ।


এপিএল অক্ষর সেটটির দুর্দান্ত অপব্যবহার। আমার ধারণা অন্যান্য উত্তরগুলিও এই অক্ষর সেটটি ব্যবহার করতে পারে।
জিমি 23013

1
@ জিমি 23013: এপিএল কোড পৃষ্ঠাটি ইবিসিডিক-ভিত্তিক based কতটি ভাষা এটি পরিচালনা করতে পারে তা নিশ্চিত নয়।
ডেনিস

@ ডেনিস এই প্রোগ্রামটি নিজেই ASCII তে (বা EBCDIC- তে কিছু গীব্রিশ) থাকতে পারে না যখন এটি EBCDIC স্ট্রিংগুলি মুদ্রণ করে? যদিও নতুন লাইনের শর্টকাটটি চলে যাবে। অন্যথা, উইন্ডোজ কনসোল প্রিন্ট করলো \x18\x19যেমন ↑↓
জিমি 23013


@ jimmy23013: হ্যাঁ, আমি শুধু পুরাতন কনসোল কথা বলেছেন চ্যাটে । জিব্বারিশটি কার্যকর হতে পারে তবে এটি সম্ভবত একটি মেটা আলোচনার জন্য মূল্যবান।
ডেনিস

12

পাইথ, 15 বাইট (11 টি অক্ষর)

V3.>*Q"↑↓"N

অনলাইনে চেষ্টা করুন: বিক্ষোভ

ব্যাখ্যা:

              implicit: Q = input number
V3            for N in [0, 1, 2]:
      "↑↓"       string "↑↓"
    *Q           repeat Q times
  .>      N      rotate the string by N

12

জাভা, 313 296 বাইট

এখানে গ্রাফিকভাবে তীরগুলি প্রদর্শন করে এমন একটি উদাহরণ রয়েছে:

import java.awt.*;void f(int n){new Frame(){public void paint(Graphics g){for(int k=0,l,m,o;k<n*6;o=k%6,l=o/2*10+32,m=k/6*20+(k++%2==0?19:29),g.fillPolygon(new int[]{m+4,m,m+4,m+4,m+6,m+6,m+10},o==1|o==2|o==5?new int[]{l+9,l+5,l+5,l,l,l+5,l+5}:new int[]{l,l+5,l+5,l+9,l+9,l+5,l+5},7));}}.show();}

আরও পঠনযোগ্য ফর্ম্যাটে:

import java.awt.*;
void f(int n) {
    new Frame() {
        public void paint(Graphics g) {
            for (int k = 0, l, m, o; k < n*6;){
                o = k % 6;
                l = o / 2 * 10 + 32;
                m = k / 6 * 20 + (k++ % 2 == 0 ? 19 : 29);
                g.fillPolygon(new int[] {m+4,m,m+4,m+4,m+6,m+6,m+10},
                              o == 1 || o == 2 || o == 5 ?
                                  new int[] {l+9,l+5,l+5,l,l,l+5,l+5} :
                                  new int[] {l,l+5,l+5,l+9,l+9,l+5,l+5},
                              7);
            }
        }
    }.show();
}

ইনপুট হিসাবে 5 জন্য প্রদর্শন:

ইনপুট হিসাবে 5 জন্য প্রদর্শন করুন

তীরগুলি দেখতে দেখতে আপনাকে উইন্ডোটির আকার পরিবর্তন করতে হবে। আমি এটি তৈরির চেষ্টা করেছি যাতে উইন্ডোর অভ্যন্তরের সীমান্ত দিয়ে তাদের কেউই "কাটা কাটা" না দেখা যায়, তবে এটি নির্দিষ্ট প্ল্যাটফর্মগুলিতে সেভাবে প্রদর্শিত হতে পারে।


9

সিজাম, 18 বাইট (14 টি চর)

ri3*"↑↓"*3/zN*

কলামগুলি তৈরি করুন (যা পুনরাবৃত্তি প্যাটার্ন গঠন করে) তবে ট্রান্সপোজ করুন।

এটি অনলাইনে চেষ্টা করুন


বিকল্প 18 বাইট:

3,ri"↑↓"*fm>N*

স্ট্রিং "↑↓"*n0, 1 বা 2 বার ঘোরান ।


7

সিজেম (15 টি চর, 19 বাইট)

ri"↑↓"*_(+1$]N*

অনলাইন ডেমো


1
উইন কন্ডিশন বাইটস, অক্ষর নয়।
isaacg

@ পিটারটেলর: চ্যালেঞ্জটি নির্দিষ্ট ভাষা, এক্স বাইট ফর্ম্যাট। আপনার এটি চর বিন্যাসে রয়েছে তবে ইউনিকোডের অক্ষরগুলি 2 বাইটের জন্য মূল্যবান তাই আপনার আসল স্কোরটি 17 বাইট
লেভি

@Levi মতে এই তারা 3 প্রতিটি বাইট করছি।
isaacg

@ আইস্যাচ আঃ আমার খারাপ
লেভি

7

বেফুঞ্জ, 71 বাইট

আমার প্রথম উত্তর, সুতরাং দয়া করে আমার সাথে নম্র থাকুন: ও)

বিরক্তিকর অ্যালাইনমেন্ট ইস্যুগুলির ফলে কয়েকটি অপচয় নষ্ট হয়ে যায়, আপনার যদি আমার জন্য কোনও উন্নতি হয় তবে আমি সেগুলি শুনতে চাই!

&::3>:2% #v_0#v" \|/ "<
  >\^,*52<> 0#v" /|\ "<
:#^_$1-:#^_@  >:#,_$\1-

ইনপুট: 4

 /|\  \|/  /|\  \|/  /|\  \|/  /|\  \|/ 
 \|/  /|\  \|/  /|\  \|/  /|\  \|/  /|\ 
 /|\  \|/  /|\  \|/  /|\  \|/  /|\  \|/ 

6

সিজেম, 14 বাইট

0000000: 332c 7269 2218 1922 2a66 6d3e 4e2a       3,ri".."*fm>N*

এর জন্য একটি সহায়ক টার্মিনাল প্রয়োজন যা কোড পৃষ্ঠা 850 রেন্ডার করে মতো করে সরবরাহ করে:

কোডটির অ-বিন্দু অংশটি সাদৃশ্য হিসাবে দেখা গেল কোডটির @ Sp3000 এর বিকল্প সংস্করণের সাথে


সিজেম, 17 বাইট

ri"⇅⇵⇅"f*N*

@ ডিজিটাল ট্রুমায়ার ক্রেডিট সহ প্রতারণামূলক ডাবল তীর সংস্করণ।

এটি অনলাইনে চেষ্টা করুন।


5

পাইথ, 16 বাইট (12 টি অক্ষর)

J"↑↓"V3*~_JQ

উদাহরণ:

Input: 4
Output:
↑↓↑↓↑↓↑↓
↓↑↓↑↓↑↓↑
↑↓↑↓↑↓↑↓

5

পাইথন 2, 131 122 বাইট

from turtle import*
for k in range(input()*6):z=k/3+k%3&1;pu();goto(k/3*32,z*32^k%3*64);pd();seth(z*180+90);fd(32);stamp()

আচ্ছা ... আমি সি জাভা মেরে ফেলেছি?

এখানে চিত্র বর্ণনা লিখুন


আমি 32তীরগুলির জন্য উচ্চতা নির্বাচন করেছি , যা বেশ বড়, তাই কিছুক্ষণ পরে কচ্ছপ অফস্ক্রিন অঙ্কন শুরু করে। আপনি যদি বড় ইনপুটগুলির জন্য সবকিছু ফিট করতে চান তবে আপনি এসগুলি প্রতিস্থাপন করে তীরগুলি ছোট করতে পারেন 32, বা ব্যবহার করুন screensize()(অফস্ক্রিন আউটপুটে কোনও মেটা পোস্ট রয়েছে কিনা তা আমি নিশ্চিত নই ...)


1
সুতরাং ... পাইথের কচ্ছপ গ্রাফিক্স যুক্ত করতে গেলে?
ডিজিটাল ট্রমা

গল্ফিংয়ের লক্ষ্যে অবশ্যই সাইজিংয়ের জন্য আপনার একটি একক সংখ্যা নির্বাচন করা উচিত ...
বিটা ডেকে

@ বেটাডেকে একক অঙ্কের আকারের জন্য লেজটি সবেই দৃশ্যমান, যেহেতু এটি কচ্ছপ দ্বারা অস্পষ্ট
Sp3000

4

জিএনইউ সেড, 25 বাইট

আমি এবং ইউনিকোড তীর চিহ্নগুলি পেয়েছি , যা আরও সংক্ষিপ্ত করার অনুমতি দেয় এবং তাদের এই মন্তব্যে অনুমতি দেওয়া হয়েছে :

h
s/1/⇅/g
H
G
s/1/⇵/g

ইনপুট আনারিতে রয়েছে , সুতরাং উদাহরণস্বরূপ 4 টি হল 1111:

$ echo 1 | sed -f antiferro.sed
⇅
⇵
⇅
$ echo 1111 | sed -f antiferro.sed
⇅⇅⇅⇅
⇵⇵⇵⇵
⇅⇅⇅⇅
$ 

ক্ষেত্রে পূর্ববর্তী উত্তর এবং তা প্রত্যাখ্যান করা হয়:

জিএনইউ সেড, 39 বাইট

s/1/↑↓/g
s/.*/&a&↑\n&/
s/a↑/\n/

3
যখনই আমি কোনও পোস্টের শীর্ষে "জিএনইউ সেড" দেখি, কে এটি পোস্ট করেছে তা জানতে আমারও নীচে স্ক্রোল করার প্রয়োজন নেই।
অ্যালেক্স এ।


ইনপুট একা আছে ?! ভাষা বা আপনি প্রোগ্রাম করা কিছু জন্য এটি কি সাধারণ?
বিটা ক্ষয়

1
কি এক
নিস্পৃহ

1
@ বেটাডেচে অবিচ্ছিন্ন স্ট্রিংয়ের অনন্য সম্পত্তিকে ধন্যবাদ - তাদের সংখ্যাগত মান তাদের দৈর্ঘ্যের সমান। মেটা প্রশ্ন / উত্তর এর জন্য কঠোরভাবে মাতৃভাষা (উদাহরণস্বরূপ sed) ভাষা নেই languages এটি এই প্রশ্নের জন্য বিশেষভাবে কার্যকর, কারণ প্রয়োজনীয় দৈর্ঘ্যের আউটপুট সহজেই আনারি ইনপুট থেকে উত্পন্ন করা যায়। Cheaty? সম্ভবত - তবে মেটা উত্তর sensকমত্য এটির সাথে ঠিক আছে বলে মনে হচ্ছে।
ডিজিটাল ট্রমা

3

সুইফট 2, 66 বাইট

let f={n in(0..<n*3).map{print("↑↓",appendNewline:$0%n==n-1)}}

যদি সুইফ্টটি কেবলমাত্র লিবিটল কিছুটা কম ভার্বোস হয়ে থাকে, এটি গল্ফিংয়ের পক্ষেও খারাপ কিছু হবে না (আমি আপনাকে দেখছি, নামকরণের প্যারামিটার appendNewline)


3

রুবি 39 (বা 44) অক্ষর, 43 (বা 48) বাইট

অনুসারে Https://mothereff.in/byte-coutter তীরের অক্ষর প্রতিটি 3 বাইট!

->(n){a=['↑↓'*n]*3;a[1]=a[1].reverse;a}

একটি বেনামি ফাংশন যা অ্যারে প্রদান করে। যদি ফাংশনটিতে অ্যারেটি মুদ্রণ করতে হয় তবে এটি puts aআরও 5 টি বাইটের সাথে শেষ হওয়া উচিত ।

উদাহরণ ব্যবহার

f=->(n){a=['↑↓'*n]*3;a[1]=a[1].reverse;a}

puts f.call(6)

দেয়

↑↓↑↓↑↓↑↓
↓↑↓↑↓↑↓↑
↑↓↑↓↑↓↑↓

3

জে, 41 35 32 বাইট (২৮ টি অক্ষর)

3$(,:|.)(2*".1!:1[1)$ucp'↑↓'

আমি কখনই জে-তে কোনও প্রোগ্রাম করি নি তাই এটি আমাকে কিছুটা সময় নিয়েছিল এবং এটি করার সবচেয়ে ভাল উপায় এটি অবশ্যই স্পষ্টভাবে নয়।

তীরগুলি আউটপুট দেওয়ার আগে চালানোর সময় এটি কোনও সংখ্যাকে ইনপুট দেওয়ার জন্য অপেক্ষা করে।


আপনি কী বলতে চাইছেন আপনি জে তে কিছু প্রোগ্রাম করেননি? আমি মনে করি একটি নির্দিষ্ট জে উত্তর উত্তর যা আপনাকে 1k এরও বেশি পেয়েছে। ;)
অ্যালেক্স এ।

@AlexA। সাধারণ গাণিতিক কাজগুলি আসলে আমি প্রোগ্রামিংকে কল করব না। আমি যখন উত্তরটি পোস্ট করেছি তখন ডান থেকে বাম অগ্রাধিকার ছাড়া জে সম্পর্কে সত্যই কিছুই জানতাম না
ফ্যাটালাইজ করুন

2

জাভাস্ক্রিপ্ট (ES6), 66 63 53 47 বাইট ( 62 55 49 41 অক্ষর)

f=n=>`⇅
⇵
⇅`.replace(/./g,'$&'.repeat(n))

থেকে সাজসরঞ্জাম ডিজিটাল ট্রমা ⇅ এবং ⇵ অক্ষর খুঁজে পেতে এবং আমাকে আরো বাইট বন্ধ শেভ করতে সক্ষম হবেন জন্য।



2

সি, 169 170 162 125 123 105 119 107 বাইট

সুতরাং, আমি যদিও এটিরও যেতে পারি, যদিও এটি অবশ্যই বিজয়ী নয় :)

Golfed:

n,i,j;main(){n=getchar();n=atoi(&n);for(;j++<3;){for(i=0;i++<n;)printf("%.3s ","⇅⇵"+(j%2)*3);puts("");}}

Ungolfed:

#include <stdio.h>
#include <stdlib.h>

/* n -> Number of columns, i & j -> Loop counters */
n,i,j;

main()
{
    /* Get the number of iterations from stdin */
    n = getchar();
    n = atoi(&n); /* Thanks @AndreaBiondo */

    for (; j++ < 3;)
    {
        /* Print rows of arrows */
        for (i = 0; i++ < n;)
            printf("%.3s ","⇅⇵" + (j % 2) * 3);

        /* Print a newline */
        puts("");
    }
}

উদাহরণ:

Input: 4
⇵ ⇵ ⇵ ⇵ 
⇅ ⇅ ⇅ ⇅ 
⇵ ⇵ ⇵ ⇵ 

হালনাগাদ:

এটি এখানে চালানো দেখুন


আপনি কি করতে পারেন for(j=0;j++<3;)সঙ্গে একই এবংi
lirtosiast

@ থমাসকওয়া আহা ... ভাল দাগে। ধন্যবাদ
লেভি

iএবং jগ্লোবাল হয়, তাই তারা শূন্য থেকে আরম্ভ করা হয়। আপনি ড্রপ করতে পারেন i=0এবং j=0
Andrea Biondo

এছাড়াও, আপনি nবাফার হিসাবে ব্যবহার করতে স্বল্প-পরিসীমা এবং শূন্য সূচনাটি কাজে লাগাতে পারেন :n=getchar();n=atoi(&n);
আন্দ্রে বিওনদো

@ আন্ড্রেবিওনডো যখন আমি i = 0 এবং j = 0 অপসারণ করি তখন সমস্ত আউটপুট এক লাইনে থাকে। আপনি কি এটি পুনরুত্পাদন করতে পারেন? আমি gcc 4.9.2 ব্যবহার করছি
লেভি

2

অক্টাভা, 37 বাইট

সম্পাদনা: পূর্ববর্তী স্ট্রাইপ-অ্যান্টিফেরোম্যাগনেটিক সংস্করণ থেকে সংশোধন করা হয়েছে। আমার ভুল ধরার জন্য ধন্যবাদ @ বিটা-ক্ষয়

f=@(n)repmat(["⇅";"⇵";"⇅"],1,n)

একটি ফাংশন সংজ্ঞা দেয় f(n)। নমুনা আউটপুট:

octave:4> f(1)
ans =

⇅
⇵
⇅

octave:5> f(5)
ans =

⇅⇅⇅⇅⇅
⇵⇵⇵⇵⇵
⇅⇅⇅⇅⇅

1

কফিস্ক্রিপ্ট, 60 বাইট (58 টি অক্ষর)

সংবেদনগুলি পুনরাবৃত্তি ছাড়াই সহজ করে তোলে:

f=(n,x='')->x+='\n⇵⇅'[i%(n+1)&&1+i%2]for i in[1..n*3+2];x

1

রুবি, 33 বাইট

একটি ফাংশন হিসাবে:

f=->n{[s="↑↓"*n,s.reverse,s]}

উদাহরণ:

> puts f[3]
↑↓↑↓↑↓
↓↑↓↑↓↑
↑↓↑↓↑↓

রুবি, 37 বাইট

সম্পূর্ণ প্রোগ্রাম যা স্টিডিন থেকে ইনপুট নেয়:

puts s="↑↓"*gets.to_i,s.reverse,s

আপনি কেবল একটি ক্রিয়াকলাপ বা একটি সম্পূর্ণ প্রোগ্রাম তৈরি করতে পারেন তবে এটি অবশ্যই একটি ইনপুট নিতে পারে এবং বহু জোড়া আঁকতে হবে।
ডেনিস

@ ডেনিস ঠিক আছে, আমি এতে আছি
ডানিরো

আমাদের মনে হচ্ছে কোনও ভুল বোঝাবুঝি হয়েছে। আমি কোনও ফাংশন বাস্তবে বৈধ কিনা তা দেখানোর জন্য আমি উদ্ধৃতিটি পোস্ট করেছি, যেহেতু আপনি আপনার মূল সংশোধনটিতে ইঙ্গিত করেছিলেন যে একটি সম্পূর্ণ প্রোগ্রাম প্রশ্নের প্রয়োজনে আবশ্যক।
ডেনিস

@ ডেনিস কোন সমস্যা নেই আমি কেবল ভাবছিলাম যে 3 টি স্ট্রিং ফিরিয়ে দেওয়া সত্যিই "অঙ্কন" নয়, তবে আমি অনুমান করি এটি কোনও ব্যাপার নয়। যাইহোক, উভয় সংস্করণ কিছুটা গল্ফ পেয়েছে :)
ড্যানিরো

1

> <>, 55 বাইট

"⇅⇵⇅"{:&3*1-:0(?;\
|.!09v!?%&:&:{o:}/
oa{~}/|.!09

প্রাথমিক স্ট্যাক মান হিসাবে পছন্দসই দৈর্ঘ্য ইনপুট করে এখানে এটি অনলাইনে চেষ্টা করুন ।

অ-সমাধান, 59 বাইট:

"↓↑"{:&3*>1-:0(?;{:{\
 |.!09v!?%&:&:oo}}@:/
9oa{$}/|.!0

1

বিবিসি বেসিক, 70 বাইট

INPUTx:n$=STRING$(x,"/|\\|/"):PRINTn$:PRINTSTRING$(x,"\|//|\"):PRINTn$

এটি সম্ভবত আরও গল্ফ করা যেতে পারে


1

সি, 97 বাইট

প্রথম কম্যান্ড-লাইন পরামিতি, যেমন থেকে ইনপুট নেয় main 4। জোড় পর্যন্ত সাপোর্ট করে 357913940। সিতে আপনি মাল্টিবাইট অক্ষর charগুলি হিসাবে ব্যবহার করতে পারবেন না তবে তারা স্ট্রিংয়ের মতো দুর্দান্ত কাজ করে।

i,n;main(c,v)char**v;{n=atoi(v[1]);for(i=6*n+3;i--;)printf("%s",i%(2*n+1)?i%2?"↓":"↑":"\n");}

এটি একটি ফাংশন হিসাবে ছোট, তবে অন্যান্য সি উত্তরগুলি সম্পূর্ণ প্রোগ্রাম ছিল তাই আমি এটিও করেছি। এটি 69 বাইট হবে:

i;f(n){for(i=6*n+3;i--;)printf("%s",i%(2*n+1)?i%2?"↓":"↑":"\n");}


1

সি, 117 89 85 বাইট

i;main(j,v)char**v;{j=2*atol(v[1])+1;for(;i++<3*j;)printf(i%j?i%2?"↑":"↓":"\n");}

Ungolfed:

i;
main(j,v)
char**v; // Credit to @AndreaBiondo for brilliant idea that I will use a lot in future golfed programs :)
{
    j = 2*atol(v[1])+1;
    for(;i++<3*j;)
        printf(i%j?i%2?"↑":"↓":"\n");
}

1

জাভাস্ক্রিপ্ট (ES6), 66 বাইট (62 অক্ষর)

এর মধ্যে ইউনিকোডের প্রতিটি অক্ষরকে তিনটি বাইট হিসাবে গণ্য করা আবশ্যক এবং সেই সাথে বাধ্যতামূলক নতুন লাইনটিকে একটি বাইট হিসাবে গণনা করা হয়েছে।

এই উত্তর দ্বারা অনুপ্রাণিত হিসাবে পুনরাবৃত্তি ব্যবহার করে । আমি এটি পুনরাবৃত্তির সাথে চেষ্টা করেছি তবে একটি সংজ্ঞায়িত অ্যারে তৈরি করা অনেক বেশি অক্ষর নিয়েছে, যদিও অন্য কেউ আমার থেকে কীভাবে এটি আরও ভাল করতে হয় তা হয়ত জানেন।

f=n=>(g=(a,i)=>i?g(`
↓↑`[i%(n*2+1)&&1+i%2]+a,i-1):a)('',n*6+2)

ডেমো

সমস্ত ES6 জবাব হিসাবে, সেগুলি কেবল লেখার সময় ফায়ারফক্স, এজ এবং সাফারি 9 এ প্রদর্শিত হতে পারে:

f = n => (g = (a, i) => i ? g(`
↓↑` [i % (n * 2 + 1) && 1 + i % 2] + a, i - 1) : a)('', n * 6 + 2)

console.log = x => document.getElementById('O').innerHTML += x + '\n';

console.log(f(1));
console.log(f(2));
console.log(f(4));
console.log(f(32));
<pre><output id=O></output></pre>


1

জাভা, 150 বাইট

static void g(int n){n*=2;f(n,0);f(n,1);f(n,0);}static void f(int n,int d){String l="";for(n+=d;n-->d;)l+=(n%2==0)?"↓":"↑";System.out.println(l);}

এর আউটপুট g(2):

↑↓↑↓
↓↑↓↑
↑↓↑↓

1
আমি মনে করি যে আপনাকে তীরগুলি আউটপুট করতে হবে, সুতরাং আমি প্রস্তাব দিয়েছি যে আপনি আপনার উদাহরণ আউটপুট এবং কোডটি পরিবর্তন করুন যাতে একেবারে স্পষ্ট হয় যে আপনি নিয়ম ভঙ্গ করছেন না :)
বিটা ডেক

@ বেটাডেকে আমি দেখতে পাচ্ছি কিছু অনুমোদিত তীর তালিকাভুক্ত হয়েছে এবং আমি কাটাটি তৈরি করিনি! সুতরাং আপনার পরামর্শ অনুসরণ করে আমি এটি পরিবর্তন করেছি
ডেডচেক্স

0

পাইথন 2, 45 55 বাইট

সম্পাদনা করুন: পরিবর্তিত তীরগুলি

খুব সোজা পদ্ধতি। যদিও ইউনিকোড তীরগুলি নিয়ে কাজ করে না।

def f(n):x=" /|\\ \\|/"*n;print x+"\n "+x[::-1]+"\n"+x

যদি আপনি মূল পোস্টে মন্তব্যগুলি লক্ষ্য করেন, আপনি দেখতে পাবেন যে লেজ না থাকায় আপনাকে বিশেষত^v তীর ব্যবহারের অনুমতি দেওয়া হচ্ছে না
লেভি

1
ধন্যবাদ, আমি এটা খেয়াল করি নি। এটি "/ | \" এ পরিবর্তিত হয়েছে, আশা করি এটি এখন ঠিক আছে।
heo

0

আর, 60 62 বাইট

STDIN এবং আউটপুট থেকে STDOUT এ ইনপুট নেয়। একটি 3 এক্স (2 * ইনপুট) অ্যারে তৈরি করে, ক্যারেজ রিটার্নের একটি কলাম যুক্ত করে এবং পরে ট্রান্সপোজড অ্যারে আউটপুট করে।

cat(t(cbind(array(c('↑','↓'),c(3,2*scan())),'\n')),sep='')

টেস্ট রান

cat(t(cbind(array(c('↑','↓'),c(3,2*scan())),'\n')),sep='')
1: 25
2: 
Read 1 item
↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓
↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑
↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓↑↓

0

টিসিএল 49 বাইট

বিজয়ী নয় তবে কমপক্ষে এটি প্রতিযোগিতামূলক:

foreach x {⇅ ⇵ ⇅} {puts [string repeat $x $argv]}

ব্যবহার করে আপনি বাইট সংরক্ষণ করতে পারবেন lmapপরিবর্তেforeach
sergiol

এবং string repeatসংক্ষেপে বলা যেতে পারেstring re
সার্জিওল

এবং আমি নিশ্চিত নই, তবে মানগুলি প্রত্যাবর্তনের procপার্শ্ব প্রতিক্রিয়া পুনরুদ্ধার হিসাবে এটি প্রয়োগ করে lmapএবং $argvএক-বর্ণের ভেরিয়েবলের দ্বারা প্রতিস্থাপন করা বাইট সংরক্ষণ করতে পারে।
সার্জিওল

-1

সুইফট 2.0, 79 বাইট

কিছুই চালাক না ...

let p=3;for x in 0...2{print((0..<p*2).reduce(""){$0+["↑","↓"][($1+x)%2]})}

3
এটি কোনও ফাংশনে রাখা দরকার,
ইনপুটটির
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.