কিছু প্রসারিত তীর আঁকুন


25

এই চ্যালেঞ্জটি ক্রমবর্ধমান ASCII- শিল্প তীরগুলি মুদ্রণ সম্পর্কে। আমি কথায় প্যাটার্নটি বর্ণনা করব, তবে এই সিরিজের শুরুটি কেমন দেখাচ্ছে তা দেখার পক্ষে আরও সহজ হতে পারে:

>
<
->
<-
-->
<--
--->
<---
---->
<----
----->
<-----
------>
<------
...

দৈর্ঘ্য n সহ একটি তীরটিতে একটি তীরের মাথা ( <বা >) এবং n-1ড্যাশগুলি ( -) থাকে। ডানমুখী তীরটিতে প্রথমে ড্যাশ রয়েছে, তারপরে ক >। বাম-মুখী তীরটি শুরু <হয় এবং ড্যাশগুলি অনুসরণ করে। সিরিজটিতে দৈর্ঘ্য nডান-মুখী তীর এবং তারপরে দৈর্ঘ্য n বাম-মুখী তীর থাকে, যার সাথে 1 থেকে অনন্ত পর্যন্ত থাকে।

চ্যালেঞ্জটি সম্পূর্ণ করতে, এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা একটি ইনপুট, একটি পূর্ণসংখ্যার লাগে i >= 1এবং প্রথম iতীরগুলি আউটপুট করে । তীরগুলি পৃথক, ডান-বাম জোড়ায় নয়, সুতরাং আপনার জন্য i=3আউটপুট করা উচিত:

>
<
->

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

এটি , তাই খুব কম বাইট জিতেছে।



আমাদের প্রতিটি লাইনের আগে / পরে ফাঁকা স্থান থাকতে পারে?
অলিভিয়ের গ্রাগোয়ার 16

@ অলিভিয়ারগ্রোগোয়ার হ্যাঁ, সাদা স্থানের পিছনে স্থান ঠিক আছে।
পাভেল

এবং শ্বেত স্পেস শিরোনাম?
অলিভিয়ের গ্রাগোয়ার 16

@ অলিভিয়ারগ্রোওয়ের হ্যাঁ, এটা ঠিক আছে।
পাভেল

উত্তর:


9

আমি কোনও ক্যানভাস জানি না, তবে এটি কি আমি দেখি একটি তীর আঁকতে নির্মিত? কিন্ডা দেখে মনে হচ্ছে!
পাভেল

2
"অনুভূমিকভাবে বিপরীত" বিল্ট-ইন (এছাড়াও অদলবদল >এবং <), দুর্ভাগ্যক্রমে কোনও তীর অন্তর্নির্মিত নয়: পি
ডিজাইমা

8

আর , 69 বাইট

for(i in 1:scan()-1)cat('<'[i%%2],rep('-',i/2),'>'[!i%%2],'
',sep='')

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

  • -5 বাইটস @ জিউজ্পে ধন্যবাদ
  • -৩ বাইটস @ রবার্ট এসকে ধন্যবাদ

strrepতার দ্বিতীয় যুক্তি coerces integerযাতে আপনি ব্যবহার করতে পারেন /স্থানে%/%
: Giuseppe

পরিবর্তে aউপরের সূচকেও আপনি সম্পূর্ণরূপে মুক্তি পেতে পারেন 0...(n-1): এটি অনলাইনে চেষ্টা করুন!
জিউসেপ

আমি বোকা ... ধন্যবাদ! : ডি
digEmAll

@ জিউসেপ: এছাড়াও আমি কেবল রবার্ট এস এর মুছে ফেলা প্রশ্নটি লক্ষ্য করেছি আমি স্ট্রাইপের পরিবর্তে রেপ ব্যবহার করতে পারি এবং 3 বাইট সংরক্ষণ করতে পারি ... (ফেসপাম)
ডিজেইমআল

8

জাভা (জেডিকে) , 81 বাইট

n->{for(int i=0;i<n;)System.out.printf(i%2<1?"<%s%n":"%s>%n","-".repeat(i++/2));}

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

ব্যাখ্যা

n->{                  // int-accepting consumer
 for(int i=0;i<n;)    //  for each i from 0 to n-1 included
  System.out.printf(  //   output on stdout with a pattern
   i%2<1              //    if i is even:
    ?"<%s%n"          //     use the left-arrow pattern
    :"%s>%n",         //    else: use the right-arrow pattern
   "-".repeat(i++/2)  //    fill the "%s" in the pattern with i/2 dashes, and increment i
  );                  // 
}                     //



কিভাবে করা সম্পর্কে ভালো ?
candied_orange

@ ক্যান্ডিড_ওরেঞ্জ এটি একই: গণনাতে আমদানিগুলি প্রয়োজনীয়।
অলিভিয়ার গ্রাগোয়ার

কেন import java.util.function.*;গণনা হয় না ?
candied_orange

8

হাস্কেল, 41 40 বাইট

(`take`g">")
g p=p:('<':init p):g('-':p)

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

প্লেইন পুরানো পুনরাবৃত্তির: STRING দিয়ে শুরু p= ">"সংগ্রহ p, একটি <কিন্তু সবার সামনে শেষ গৃহস্থালির কাজ মধ্যে pএবং এক সঙ্গে একটি recursive কল -সামনে রাখা p। প্রথমটি নাওnএই তালিকার আইটেম ।

সম্পাদনা: -1 বাইট @xnor ধন্যবাদ।


1
একটি বাইট সংরক্ষণ করার জন্য একটি অদ্ভুত পরিবর্তন
xnor

6

কমোডোর বেসিক ভি 2 (সি 64), 94 বাইট

0inputn:fOi=1ton:oniaN1gO1:?"<";
1on-(i<3)gO2:fOj=1.5toi/2:?"-";:nE
2on-nOiaN1gO3:?">";
3?:nE

বাইট গণনা সম্পর্কে সম্পূর্ণ নিশ্চিত নয়, এটি বৈধ প্রোগ্রাম টাইপ করার জন্য পাঠ্য উপস্থাপনার উপর ভিত্তি করে। এটি ডিস্কে কিছুটা ছোট (91 বাইট) কারণ বেসিক ভি 2 প্রোগ্রামগুলির "টোকেনযুক্ত" উপস্থাপনা ব্যবহার করে।

অনলাইন ডেমো

সামান্য "অবহেলিত":

0 inputn:fori=1ton:oniand1goto1:print"<";    :rem read n from user, loop to n, if odd skip "<"
1 on-(i<3)goto2:forj=1.5toi/2:print"-";:next :rem skip for i<3, print (i-1)/2 times "-"
2 on-notiand1goto3:print">";                 :rem if even skip ">"
3 print:next                                 :rem newline and next loop iteration

6

স্ব-পরিবর্তনকারী ব্রেইনফাক , 55 বাইট

অক্ষর কোড হিসাবে ইনপুট নিন।
কেবল 255 পর্যন্ত ইনপুট সমর্থন করুন।
lines লাইনগুলি পৃথক করতে নাল অক্ষর ব্যবহার করুন।

কাকতালীয়ভাবে, সমস্ত তীর-অঙ্কন অক্ষরগুলি BF কমান্ড হিসাবে ব্যবহৃত হয়। দুর্ভাগ্যক্রমে, এটি কোনও বাইট (বর্তমানে) সংরক্ষণ করে না।

>>,[<<[-<.>>+<]<<.>>.+>>-[<<<<<.>>>>[-<+<.>>].>-<]>]<>-

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

ব্যাখ্যা

 Code  |              Memory         | Output | Comment
-------+-----------------------------+--------+--------------------------
       | '<' '>' '-' [0]  0   0   0  |        |
>>,    | '<' '>' '-'  0   0  [x]  0  |        |
[      |                             |        |
       | '<' '>' '-'  l   0  [x]  0  |        | l = arrow length
<<[-<  |                             |        | copy l to next cell
.>>+<] |                             |        | and print '-'
       | '<' '>' '-' [0]  l   x   0  | -----  | there are l '-'s
<<.    | '<' [>] '-'  0   l   x   0  | >      |
>>.+   | '<' '>' '-' [1]  l   x   0  | <null> |
>>-    | '<' '>' '-'  1   l  [y]  0  |        | y=x-1
[      |                             |        | execute if y>0
<<<<<. | [<] '>' '-'  1   l   y   0  | <      |
>>>>   | '<' '>' '-'  1  [l]  y   0  |        |
[-<+<. |                             |        |
>>]    | '<' '>' '-'  L  [0]  y   0  | -----  | L=l+1
.      | '<' '>' '-'  L  [0]  y   0  | <null> |
>-<]>] |                             |        | decrement y
<>-    |                             |        | do nothing, used as data

6

পাইথন 2 , 54 বাইট

বাগ ঠিক করার জন্য এবং জো কিংকে ধন্যবাদ

k=0
exec"print k%2*'<'+k/2*'-'+~k%2*'>';k+=1;"*input()

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


3
আপনার তীরগুলিতে অনেকগুলি ড্যাশ রয়েছে; কেবলমাত্র অন্য প্রত্যেককেই একটি ড্যাশ দ্বারা লম্বা করা উচিত।
এক্সনোর


5

পাইথ, 17 বাইট

m_W%d2+*\-/d2@"><

আউটপুট স্ট্রিংগুলির একটি তালিকা। এটি এখানে অনলাইনে চেষ্টা করুন

m_W%d2+*\-/d2@"><"dQ   Implicit: Q=eval(input())
                       Trailing "dQ inferred
m                  Q   Map [0-Q), as d, using:
          /d2            Floored division of d by 2
       *\-               Repeat "-" the above number of times
      +                  Append to the above...
             @"><"d      Modular index d into "><" - yields ">" for even d, "<" for odd
                         - examples: d=4 gives "-->", d=7 gives "---<"
 _W                      Reverse the above if...
   %d2                   ... (d % 2) != 0
                       Implicit print result of the map

5

পাওয়ারশেল , 62 56 50 বাইট

param($n)(0..$n|%{($j='-'*$_)+'>';"<$j"})[0..--$n]

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

0ইনপুট পর্যন্ত লুপস $n, প্রতিটি পুনরাবৃত্তি দুটি তীরের স্ট্রিং তৈরি করে। তারপরে এগুলিকে 0..--$nসঠিক সংখ্যা বের করার জন্য সূচকযুক্ত করা হয়।

কেগ্লাসিয়ারকে ধন্যবাদ 6 বাইট সংরক্ষণ করা হয়েছে।


আমার নিজের সমাধানের সাথে ঘোরাঘুরি করে আমি আপনার উপর কয়েকটি বাইট কেটে নেওয়ার একটি উপায় খুঁজে পেয়েছি: বন্ধনীগুলিতে লুপটি মুড়িয়ে সরাসরি ইনডেক্স করে 4 বাইট সংরক্ষণ করতে পারি। অর্থাত param($n)(0..$n|%{($j='-'*$_++)+'>';"<$j"})[0..--$n]। সুতরাং এখন আপনি $xদুটি লিখতে হবে না ।
কেগ্লাসিয়ার

এছাড়াও আপনি অন্য কোথাও ব্যবহার ++না ($j='-'*$_++)করায় ব্যবহার না করে আরও দুটি বাইট সংরক্ষণ করতে পারেন $_
কেগ্লাসিয়ার

1
@ কেগ্লাসিয়ার আশ্চর্যজনক - সুস্পষ্ট গল্ফগুলির জন্য ধন্যবাদ! :)
অ্যাডমবর্কবার্ক


5

হাস্কেল , 51 44 বাইট

-7 বাইটস xnor ( iterateওভার তালিকা-বোধগম্যতা ব্যবহার করে) ধন্যবাদ!

(`take`do b<-iterate('-':)"";[b++">",'<':b])

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

ব্যাখ্যা / অবহেলিত

ব্যবহার do-notation আমাদের সংরক্ষণ করে concat, এবং পোতা-স্বরলিপি ব্যবহার করে একটি pointfree ফাংশন পারবেন take, পূর্বাবস্থায় ফিরিয়ে আনার এই দিতে হবে:

f n = take n $ concat [ [b++">", '<':b] | b <- iterate ('-':) "" ]

5

জাপট -m, 16 15 13 12 বাইট

সংরক্ষণ 1 বাইট ধন্যবাদ রোমশ

g<i>)iUUz ç-

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

ব্যাখ্যা:

-m            // Map the program through [0...Input); U becomes the iterative number
g<i>)iUUz ç-  
 <i>          // ">" prepended with "<", creating "><"
g             //   Get the char at index U, with index-wrapping
    i         // Insert:
     U        //   At index U, with index-wrapping
         ç-   //   "-" repeated:
      Uz      //     U/2 times


@ শেগি হা! খুব চালাক, ধন্যবাদ!
অলিভার


4

ম্যাথগল্ফ , 17 15 বাইট

জো কিং এবং কেভিন ক্রুইজসেনকে ধন্যবাদ 2 বাইট সংরক্ষণ করা

{ï½'-*'>ï¥╛Å⌡\n

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

ব্যাখ্যা

আমার মূল সমাধানের তুলনায় 15-বাইট পদ্ধতির ভিন্নতা, আমি প্রয়োগের জন্য কোনও ক্রেডিট নিতে পারি না।

{                 start block or arbitrary length
 ï                index of current loop, or length of last loop
  ½               pop a : push(a//2 if int else a/2)
   '-             push single character "-"
     *            pop a, b : push(a*b)
      '>           push single character ">"
        ï         index of current loop, or length of last loop
         ¥        modulo 2
          ╛       if without else
           Å      start block of length 2
            ⌡     decrement twice
             \    swap top elements
              n   newline char, or map array with newlines

if/elseম্যাথগল্ফে কীভাবে কাজ করে ? আমি জানি কীভাবে যদি বিনা এবং অন্য-যদি-বিবৃতিগুলি কাজ করে তবে কিভাবে ম্যাথগল্ফের সাথে একটি create ...} অন্য {...} তৈরি করবেন ¿? (সম্ভবত আমার পরিবর্তে এখানে চ্যাটটিতে এটি পোস্ট করা উচিত .. তবে আমি যদি অন্যথায় ঠিক করতে পারি তবে আমার সম্ভবত 1 বাইটের সঞ্চয় থাকতে পারে))
কেভিন ক্রুইজসেন 10

1
@ কেভিন ক্রুইজসেন আমার ধারণা এটি পরবর্তী দুটি কমান্ড / ব্লকগুলির সাথে কাজ করে। উদাহরণস্বরূপ ¿12, যদি 1 টি ধাক্কা দেয় ¿Å3*Å1+তবে অন্যটি, পরের উপাদানটিকে ট্রিপল করলে একটি যোগ করবে
জো কিং

@ কেভিন ক্রুইজসেন যদি / অন্যটি কোড থেকে দুটি অপারেটর বা ব্লককে পপ করে। জো কিং তার উদাহরণে সঠিক, তবে আপনি এটিও করতে পারেন ¿{"foo"}{"bar"}বা করতে পারেন ¿1{2}
সর্বোচ্চ

@ জোকিং আমি স্লাইসিং অপারেটরগুলির জন্য ডকগুলি ঠিক করার জন্য একটি টডো যুক্ত করব।
সর্বোচ্চ

1
@ কেভিনক্রুইজসেনের সমাধানটি ব্যবহার করে 15 বাইট
জো কিং

4

জাপট -m , 14 বাইট

"<>"¬hUUz ç-)q

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

সম্পূর্ণ নতুন পদ্ধতিতে আপডেট হয়েছে।

ব্যাখ্যা:

                  #Implicitly map over the range [0..input) as U
"<>"              #The string "<>"
    ¬             #Split into the array ["<",">"]
     hU     )     #Replace the element at index U with wrapping:
           -      # The character '-'
          ç       # Repeated a number of times equal to
       Uz         #  U integer divided by 2
             q    #Join the array to a string

1
çতার প্রথম পরামিতিটিকে স্ট্রিংয়ে অটো কাস্ট করে, যাতে আপনি এটিকে ড্রপ করতে পারেন '
অলিভার

1
uসূচি মোড়ানোর জন্য আপনার পদ্ধতিটির প্রয়োজন নেই তাই এটি 14 বাইট হতে পারে।
শেগি

4

সি (জিসিসি) , 80 77 76 74 71 বাইট

g(n,i,j){--n&&g(n);for(j=n%2,i=n/=2;putchar(~n?n---i*j?45:62-j*2:0););}

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

-এসএসআইআই -এর আইডিয়া সহ -3 বাইট

এর \0পরিবর্তে -1\n

-5 পুনরায় সাজানো অংশ


আউটপুট একটি পিছনে অন্তর্ভুক্ত \0

g(n,i,j){
    --n&&g(n);              //draw smaller arrows first (if n>1)
    for(j=n%2,i=n/=2;       //j:!(input parity); i:arrow len-1=ceil(input)/2-1
        putchar(~n          //if n>=0, arrow is not yet completed
                ? n---i*j   //if not first (j==1) or last (j==0) char of arrow:
                  ? 45      // output '-'
                  : 62-j*2  // otherwise, output the appropriate arrow head
                : 0););     //\0 after arrow complete. putchar returns 0; loop terminates
}

এই পরিষ্কার হতে পারে? idk
ASCII-


@ এএসসিআইআই কেবল হ্যাঁ, এটি আরও পরিষ্কার হওয়া উচিত, এমনকি যদি এটি বাইট কাউন্টের ক্ষেত্রে কোনও পার্থক্য না করে। দ্বিতীয় পয়েন্ট হিসাবে .. ধারণা জন্য ধন্যবাদ! এটি দিয়ে 78 এ নামিয়ে ট্রিম করার ব্যবস্থা করা।
এটিনিট


এক্সডি আপনার এখনও !n--প্রথম কোডব্লকটিতে রয়েছে
ASCII-




3

কাঠকয়লা , 16 বাইট

NθFθ«⊘ι↓>‖T»Fθ‖T

এটি অনলাইন চেষ্টা করুন!লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। অবশেষে আমি এটিকে হোঁচট খাওয়ার আগে আমার কাছে তিনটি 17 বাইট সমাধান ছিল। ব্যাখ্যা:

Nθ

ইনপুট n

Fθ«

পুনরাবৃত্তি nবার, 0-সূচী।

⊘ι

-অর্ধেক সূচকের দৈর্ঘ্যের একটি রেখা আঁকুন (ছাঁটা হয়েছে)।

↓>

তীরচিহ্নটি আঁকুন এবং পরবর্তী লাইনে যান।

‖T»

তীরচিহ্নগুলি উল্টিয়ে সমস্ত কিছু প্রতিফলিত করুন।

Fθ‖T

উপরের লুপটির nপ্রতিচ্ছবি রয়েছে, তবে আমাদের এমনকি সংখ্যক প্রতিচ্ছবি প্রয়োজন, সুতরাং অন্য nপ্রতিচ্ছবি সম্পাদন করুন ।



3

জাভাস্ক্রিপ্ট, 49 বাইট

f=n=>--n?f(n,l='')+(n%2?`
<`+l:`
${l+='-'}>`):'>'

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


বাহ, বেশ দুর্দান্ত
লিম্বো

... তবে এটি ছুঁড়েছে 10000, ইতিমধ্যে আমার ES6 সমাধানটি এখনও কাজ করছে: ডি যাইহোক, আপনার সমাধানটি খুব দুর্দান্ত)
লিম্বো

2

পাওয়ারশেল, 51 বাইট

param($n)0..$n|%{'-'*$_+'>';'<'+'-'*$_}|?{$n---gt0}

2

6502 মেশিন কোড (সি 64), 49 বাইট

00 C0 20 9B B7 A2 00 8A 4A A8 90 05 A9 3C 20 D2 FF A9 2D C0 00 F0 06 20 D2 FF 
88 D0 FA 8A 4A B0 05 A9 3E 20 D2 FF A9 0D 20 D2 FF E8 E4 65 D0 D7 60

এখনও বেশ চেয়ে খাটো বিট বেসিক ;) এই এক কেবল একটি সংখ্যাকে পরিসর আছে 255মেশিনের প্রাকৃতিক পূর্ণসংখ্যা আকার মাত্র 8 বিট আছে, কারণ।

অনলাইন ডেমো

ব্যবহার: SYS49152,[n](উদাঃSYS49152,3 চ্যালেঞ্জ থেকে)

মন্তব্য বিচ্ছিন্ন :

         00 C0       .WORD $C000        ; load address
.C:c000  20 9B B7    JSR $B79B          ; get unsigned byte from commandline
.C:c003  A2 00       LDX #$00           ; main loop counter
.C:c005   .loop:
.C:c005  8A          TXA                ; loop counter to accumulator
.C:c006  4A          LSR A              ; divide by 2, shift lowest bit to C
.C:c007  A8          TAY                ; result to Y
.C:c008  90 05       BCC .toright       ; C clear -> counter even, skip '<'
.C:c00a  A9 3C       LDA #$3C           ; load character '<'
.C:c00c  20 D2 FF    JSR $FFD2          ; output character
.C:c00f   .toright:
.C:c00f  A9 2D       LDA #$2D           ; load character '-'
.C:c011  C0 00       CPY #$00           ; counter/2 == 0 ? then no dashes
.C:c013  F0 06       BEQ .skipdashes
.C:c015   .printdashes:
.C:c015  20 D2 FF    JSR $FFD2          ; output character
.C:c018  88          DEY                ; decrement Y
.C:c019  D0 FA       BNE .printdashes   ; not 0 yet -> repeat
.C:c01b   .skipdashes:
.C:c01b  8A          TXA                ; loop counter to accumulator
.C:c01c  4A          LSR A              ; shift lowest bit to C
.C:c01d  B0 05       BCS .toleft        ; C set -> counter odd, skip '>'
.C:c01f  A9 3E       LDA #$3E           ; load character '>'
.C:c021  20 D2 FF    JSR $FFD2          ; output character
.C:c024   .toleft:
.C:c024  A9 0D       LDA #$0D           ; load newline character
.C:c026  20 D2 FF    JSR $FFD2          ; output character
.C:c029  E8          INX                ; next loop iteration
.C:c02a  E4 65       CPX $65            ; compare to command line argument
.C:c02c  D0 D7       BNE .loop          ; not reached yet -> repeat main loop
.C:c02e  60          RTS                ; exit


2

কে (এনএনজি / কে) , 31 29 বাইট

{"<->"x#2,x{(1=*x)_1,2-|x}\0}

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

প্রথমে আমরা 0 এর পরিবর্তে 1 "<", পরিবর্তে 1 "-"এবং 2 এর পরিবর্তে তালিকা তৈরি করি ">":

{ } যুক্তি দিয়ে ফাংশন x

x{... }\0অভ্যন্তরীণ ফাংশন xসময় প্রয়োগ করুন , প্রাথমিক মান দিয়ে শুরু করে 0মধ্যবর্তী ফলাফলগুলি সংরক্ষণ করুন

|x বিপরীত

2- 0 এর সাথে 2 এর সাথে প্রতিস্থাপন করুন এবং বিপরীতে, 1 গুলি যেমন আছে তেমন রাখুন

1, একটি 1 প্রিপেন্ড করুন

(1=*x)_x1 এর সমান প্রথম ? যদি হ্যাঁ, একটি উপাদান ফেলে দিন, অন্যথায় 0 টি উপাদান ফেলে দিন (কিছুই করবেন না)

2,প্রাথমিক ">"তীর জন্য একটি 2 প্রিপেন্ড করুন

x#আমাদের কাছে আরও অনেকগুলি তালিকা রয়েছে, সুতরাং সেগুলির মধ্যে কেবল প্রথমটি xনিন

"<->" এই স্ট্রিংয়ের সূচক হিসাবে তালিকার উপাদানগুলি (0/1/2) ব্যবহার করুন


আমি একটি ব্যাখ্যা জিজ্ঞাসা করতে চাই (আমি এখনও কে শিখতে শুরু করি নি, কোন সংস্করণ দিয়ে শুরু করব তা আমি জানি না ...)
গ্যালেন ইভানভ

1
@ গ্যালেন ইভানোভ আমি একটি ব্যাখ্যা লেখার চেষ্টা করেছি, আমি আশা করি এটি কার্যকর হবে। আমার প্রিয় ভাষায় আপনার আগ্রহের জন্য ধন্যবাদ :) বিভিন্ন সুবিধা এবং অসুবিধাগুলি সহ একাধিক বাস্তবায়ন রয়েছে ( কেএক্সের আসল , কোনা , ওকে এবং আমি নিজেই কাজ করছি)। আপনি কি এপিএল চ্যাট রুমে যোগ দিতে চান যাতে আমি আপনাকে আরও বিশদ জানাতে পারি?
এনজিএন

ধন্যবাদ, আমি ইতিমধ্যে সেখানে আছি
গ্যালেন ইভানোভ

2

05 এ বি 1 ই , 23 20 বাইট

FNÉD„><è'-N;∍«s_iR},

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

প্রথমবারের জন্য 05AB1E বা অন্য কোনও গল্ফিং ভাষা ব্যবহার করুন। কোন ধারণা স্বাগত জানাই।

কেভিন ক্রুইজসেন থেকে


1
05AB1E বিশ্বে আপনাকে স্বাগতম, এবং প্রথম সুন্দর উত্তর nice আমার কাছ থেকে +1 :) একটি বাইট সংরক্ষণ করা "><"যেতে পারে „><। এখন পর্যন্ত, হচ্ছে 1, 2, এবং 3 গৃহস্থালির কাজ স্ট্রিং জন্য builtins হয় ', এবং যথাক্রমে। আমি এখানে 18 বাইট বিকল্প নিয়ে এসেছি তবে সম্ভবত এটি আরও কিছুটা গল্ফ হতে পারে। আপনি যদি এটি এখনও না দেখে থাকেন তবে আমাদের কাছে 05AB1E পৃষ্ঠায় গল্ফ করার জন্য একটি পরামর্শ রয়েছে এবং চ্যাটে কিছু জিজ্ঞাসা করতে দ্বিধা বোধ করবেন না
কেভিন ক্রুইজসেন

1
@ কেভিন ক্রুজসেন আপনার ধারণার জন্য অনেক ধন্যবাদ। আমি ঠিক আপনার কোডটি ব্যবহার করে ঠিক অনুভব করি না, কারণ এটি আমার থেকে মোটামুটি আলাদা বলে মনে হয়, তবে আমি কোনও মডেল বিজোড় কিনা তা পরীক্ষা করার জন্য মডুলো 2 এর ধারণাটি ব্যবহার করেছি। আমি দুটি চর স্ট্রিং আইডিয়াও ব্যবহার করি। আপনি যদি 18 টি বাইট সংস্করণটি নিজের পোস্ট করেন তবে আমার মোটেই আপত্তি হবে না।
nedla2004


2

সি # (.নেট কোর) , 90 বাইট

a=>{for(int i=0;i<a;i++){var s=new String('-',i/2);Console.WriteLine(i%2<1?s+">":"<"+s);}}

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

ইনপুটটি টানতে এবং কোনও রিটার্নের প্রয়োজন না হওয়ার জন্য অ্যাকশন প্রতিনিধি ব্যবহার করে ।

Ungolfed:

a => {
    for(int i = 0; i < a; i++)          // from [0, a)
    {
        var s = new String('-', i / 2);     // create string of dashes of length (a / 2)
        Console.WriteLine(i % 2 < 1 ?       // write arrow
                                s + ">" :       // if i is even: dashes plus ">"
                                "<" + s);       // if i is odd: "<" plus dashes
    }
}


@ এম্বোডিমেন্টোফিজানা কাজ করে না, প্রথম ">" আউটপুট স্ট্রিং অনুপস্থিত।
মীরকাট


2

ES6, 96 82 79 70 বাইট

এটি অনলাইন চেষ্টা করুন! (@ অলিভারকে ধন্যবাদ)

n=>[...Array(n)].map((_,i)=>(i%2?"<":"")+"-".repeat(i/2)+(i%2?"":">"))

1
পিপিসিজিতে আপনাকে স্বাগতম! ডিফল্টরূপে, ভেরিয়েবল হিসাবে ইনপুট নেওয়া নিষিদ্ধ; আপনাকে এটিকে একটি ফাংশন করতে হবে (কেবল i=>আপনার কোডের সামনে একটি কাঠি আটকাতে হবে !) অথবা কমান্ড-লাইন আর্গুমেন্ট বা এসটিডিএন বা অন্য কোনও কিছু থেকে।
হাইপারনিউটারিনো

@ হাইপারনিউট্রিনো ঠিক আছে, সম্পাদিত উত্তর। তবে সর্বাধিক ভোট দেওয়া উত্তরের মধ্যে কেবলমাত্র ফাংশনটির মূল অংশ রয়েছে তবে ঠিক আছে। যাইহোক আমি বহিরাগত)
লিম্বো

আপনি এটি লিঙ্ক করতে পারেন? আমি মনে করি না যে এগুলির কোনওটিই অবৈধ, কমপক্ষে শীর্ষ কয়েকটি নয়।
হাইপারনিউটারিনো


1
আপনি যদি শেষ টেরিনারি অপারেটরটিকে পুনরায় সাজিয়ে রাখেন এবং কেন্দ্রের বন্ধনী সরিয়ে ফেলেন তবে আরও কয়েকটি বাইট: অনলাইনে চেষ্টা করুন
অলিভার

2

লাল , 109 108 বাইট

-1 বাইট NK1406 ধন্যবাদ

func[n][repeat i n[print reduce[pick[pad/with pad/left/with]k: i% 2 + 1
pick copy"<>"k i / 2 + k - 1 #"-"]]]

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



@ NK1406 ধন্যবাদ! আমি জানতাম না এটি বৈধ।
গ্যালেন ইভানভ 19
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.