এর শীর্ষে বিজোড় সংখ্যা সহ ছোট পর্বতের শৃঙ্খলা প্রদর্শন করুন!


19

প্রথম লাইনটি এমন ceil(n/2)উপাদানগুলির সাহায্যে তৈরি করা হয় যেখানে প্রতিটি উপাদান থাকে:<space><odd-number><space>

দ্বিতীয় লাইনটি ceil(n/2)উপাদানগুলি দিয়ে তৈরি , তবে প্রতিটি উপাদানই / \কেবল is

আপনি ধরে নিতে পারেন n >= 0এবং n <= 10

উদাহরণ

ইনপুট: 3

 1  3
/ \/ \

ইনপুট: 10

 1  3  5  7  9
/ \/ \/ \/ \/ \

পাইথন 3, 103 বাইটে উদাহরণ:

lambda a:print("".join([" "+str(i)+" "for i in range(1,a+1,2)]+["\n"]+["/ \\"for i in range(1,a+1,2)]))

বাইটস মধ্যে সংক্ষিপ্ততম কোড জয় :)


3
আপনি কি অনুমান করতে পারেন যে 11 এর পরে সমস্ত ইনপুট কম হবে?
নীল

হ্যাঁ, সমস্ত ইনপুট 11 এরও কম হবে!
Sygmei

8
সাইটে স্বাগতম! কোড-গল্ফের জন্য আমাদের ডিফল্ট হ'ল অক্ষরে নয়, বাইটে গণনা করা। আপনি যদি ওভাররাইড করতে চান তবে এটি আপনার পছন্দ। এছাড়াও, আমি পরের বার স্যান্ডবক্সের সুপারিশ করব :)
এরিক দ্য আউটগল্ফার

আমি বলতে চাইছি তুমি ঠিক আছ! চারপাশে একটি ভাল বাইট কাউন্টার আছে?
সিগমেয়

1
আমাদের কীভাবে বিশেষভাবে সাদা স্থানটি পরিচালনা করতে হবে? আপনি বলেছেন প্রতিটি উপাদান <space><odd-number><space>, তবে পরীক্ষার ক্ষেত্রে শেষ বিজোড় সংখ্যার পরে স্থান নেই space এটি alচ্ছিক? এছাড়াও, n=0দুটি খালি লাইনের জন্য আউটপুট হয় ?
xnor

উত্তর:


12

05 এ বি 1 , 19 15 14 12 বাইট

05AB1E সিপি -1222 এনকোডিং ব্যবহার করে। আদনানকে
ধন্যবাদ 4 বাইট সংরক্ষণ করা । কারুসোমপুটিংয়ের জন্য 2 বাইট সংরক্ষণ করা হয়েছে

ÅÉðìDg…/ \×»

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

ব্যাখ্যা

ÅÉ               # list of uneven number up to input
  ðì             # prepend a space to each
    Dg           # get length of list
      …/ \       # push the string "/ \"
          ×      # repeat the string length-list times
           »     # join rows by spaces and columns by newlines

কতক্ষণ ধরে Ïঅস্তিত্ব ?! এটি suuuper দরকারী বলে মনে হচ্ছে।
ম্যাজিক অক্টোপাস উরন

2
@ কারাসোকম্পুটিং একটি দীর্ঘ সময়: পি
আদনান

2
LDÉÏহিসাবে একই ÅÉএবং :) „ ýðìদ্বারা প্রতিস্থাপিত হতে পারে ðì)»
আদনান

2
আপনি মুছে ফেলতে পারেন ), পারবেন না?
ম্যাজিক অক্টোপাস উরান

3
ÅÉðìDg…/ \×»ব্যবহারসমূহ Dgপরিবর্তে ¹;îঅন্য বাইট জন্য ভাল হিসাবে সংরক্ষণ করুন।
ম্যাজিক অক্টোপাস উরান

11

পাইকে, 16 বাইট

S2%idm+dJil*"/ \

এখানে চেষ্টা করুন!

17 বাইট এবং আরও দুর্দান্ত

S2%i`~Bd.:il*"/ \

এখানে চেষ্টা করুন!

এটি প্রথম লাইনটি সঠিকভাবে প্রান্তিক করা হয়েছে তা নিশ্চিত করার জন্য এটি আইএমএইচওএকে একটি দুর্দান্ত অ্যালগরিদম ব্যবহার করে।

S                 - range(1, input+1)
 2%               -  ^[::2]
   i              -   i = ^
    `             -    str(^)
     ~Bd.:        -     ^.translate("><+-.,[]", " ") <-- awesome bit here
          il      -  len(i)
            *"/ \ - ^ * "/ \"

এটি স্ট্রিংযুক্ত তালিকার সমস্ত অক্ষরকে স্পেস সহ প্রতিস্থাপন করে। ~Bব্রেন **** ভাষার সমস্ত অক্ষর রয়েছে এবং আমি এই পরিবর্তনশীলটি প্রথমবার ব্যবহার করেছি।

প্রোগ্রামটি এটি `~Bd.:করে:

`~Bd.: - input = [1, 3, 5, 7]
`      - str(input)  # stack now ["[1, 3, 5, 7]"]
 ~B    - "><+-.,[]"  # stack now ["[1, 3, 5, 7]", "><+-.,[]"]
   d   - " "         # stack now ["[1, 3, 5, 7]", "><+-.,[]", " "]
    .: - translate() # stack now [" 1  3  5  7 "]

... এটা ... কি দুর্দান্ত? আপনি জানেন যে আপনি ঠিক 05AB1E এবং সবাইকে মারলেন, তাই না?
এরিক দি আউটগল্ফার

আমি জেলি চেষ্টা করেছি; এটা অবশ্যই অনেক দীর্ঘ হবে।
এরিক দ্য আউটগল্ফার

"আমি বিএফ
চরসেটটি

এটি সত্যই চালাক :) খুব ভাল হয়েছে
সিগমেই

@ এরিকগল্ফার エ リ ッ ク ゴ ル フ ァ ァ 05 05AB1E কে আর মারবে না।
boboquack

6

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

lambda n:' '.join(n%2*`n`for n in range(n+1))+'\n'+-~n/2*'/ \\'

প্রথম লাইনের জন্য ছোট কৌশল: এটি সমান সংখ্যা মুদ্রণ করে না, তবে এগুলিকে একটি খালি স্ট্রিং হিসাবে গ্রহণ করে, যা ফাঁকা স্থান (0 সেখানে উপস্থিত হবে) শুরু করে এবং পরিসরে কোনও পরিবর্তন ছাড়াই সংখ্যার মধ্যে দ্বিগুণ ফাঁকা স্থান, ডাউনসাইডটি এমনকি সংখ্যাযুক্ত একটি শীর্ষস্থানীয় স্থান n


6

পাইথন 2 3, 67 65 63 60 বাইট

এখানে খুব বেশি পাগল কিছুই নয়, আমি মনে করি প্রথম বিভাগটি সম্ভবত ছোট করা যেতে পারে তবে আমি কীভাবে করব তা সম্পর্কে নিশ্চিত নই । আমি সত্য যে এই ক্ষেত্রে -~n/2কাজ করবে ব্যবহার ceil

lambda n:-~n//2*' %d '%(*range(1,n+1,2),)+'\n'+-~n//2*'/ \\'

নীচে পাইথন 2-তে বিকল্প 61 এবং 65 বাইট সমাধান রয়েছে:

lambda n:-~n/2*' %d '%tuple(range(1,n+1,2))+'\n'+-~n/2*'/ \\'
lambda n:' '+'  '.join(map(str,range(1,n+1,2)))+'\n'+-~n/2*'/ \\'

ভার্সন স্যুইচ করে আরেকটি বাইট সংরক্ষণের জন্য 2 বাইট এবং আর্টিরের জন্য রডকে ধন্যবাদ জানাই :)


আপনি পাইথন 3 থেকে সরানো থাকে, তাহলে আপনি প্রতিস্থাপন করতে পারেন %(tuple(...))সঙ্গে %[*...], কিন্তু আপনি কি করতে হবে-~n//2
Artyer

@ আর্টায়ার এটি চেষ্টা করেছেন, তবে এটি বেশ কিছু ত্রুটি ফেলেছে। আমি মনে করি আমার rangeএকটি তালিকাতে কাস্ট করা দরকার কারণ 3 টি rangeপাইথন 2 এর মতো xrange
কেডে

আপনি চারপাশে থাকা প্রথম বন্ধনীগুলিও ফেলে দিতে পারেনtuple()
রড

আপনি কি করতে পারেন (*<iterable>,)এই 1 বাইট সংরক্ষণ পাইথন 3 tuple কাস্ট করতে যদিও পরে আপনি চালু n/2মধ্যে n//2জন্য পাইথন 3.
Artyer

@ রড এবং আর্টিয়ার একগুচ্ছ ধন্যবাদ! :)
কেদে

6

জাভাস্ক্রিপ্ট (ES6), 55 বাইট

f=n=>n%2?f(n-1).replace(`
`,` ${n} 
/ \\`):n?f(n-1):`
`
<input type=number min=1 max=10 oninput=o.textContent=f(this.value)><pre id=o>

দ্বিতীয় লাইনের শেষে স্থানটি নোট করুন।


ডাঙ্গিত, আমি ভেবেছিলাম .replaceআরও ভাল হতে পারে তবে আমি যাচাই করতে
বিরত হইনি

প্রশ্ন বলে "আপনি পারে অনুমান ..."
সলোমন Ucko

1
@ সলোমনউকো এইচটিএমএল উত্তরের অংশ নয়, এটি কেবল তার ক্রিয়াকলাপটি প্রদর্শন করে। এর ফলে, এটি মানটি 1 এবং 10 এর মধ্যে সীমাবদ্ধও করতে পারে, যেহেতু অন্যথায় ফলাফল বৈধ হবে না।
নিল

আমি দেখি. আপনাকে অন্যথায় সঠিক ফাঁকা জায়গা নির্ধারণ করতে হবে
সলোমন উকো

5

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

lambda n:" 1  3  5  7  9"[:-~n/2*3]+'\n'+-~n/2*"/ \\"

n <= 10হার্ডকোডযুক্ত স্ট্রিং থেকে টুকরো টুকরো করে কেটে শীর্ষ পংক্তিটি উত্পন্ন করার সীমাবদ্ধতার সুযোগ নেয় ।

1 থেকে 10 এর আউটপুটগুলি

 1 
/ \
 1 
/ \
 1  3 
/ \/ \
 1  3 
/ \/ \
 1  3  5 
/ \/ \/ \
 1  3  5 
/ \/ \/ \
 1  3  5  7 
/ \/ \/ \/ \
 1  3  5  7 
/ \/ \/ \/ \
 1  3  5  7  9
/ \/ \/ \/ \/ \
 1  3  5  7  9
/ \/ \/ \/ \/ \

0 এর জন্য আউটপুট দুটি খালি লাইন।


5

ভিম, 73 59 56 বাইট

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

caw="/2*2
caw1357911/"
DYp:s;.;/ \\;g
k:s// & /g

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

Unprintables:

^Acaw^R=^R"/2*2      # Transform a number into the next odd number (3->5,4>5)
^[^Acaw1357911^[/^R" # Insert 1357911, delete everything after the number above
DYp:s;.;/ \\;g       # Duplicate the line, replace numbers with / \
k:s// & /g           # On the line above, add spaces around numbers
<trailing newline>

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

আমি তবে কিছু টিপস আছে। 1) আপনি যদি আপনার বিকল্প কমান্ডে আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা আলাদা हर भागका अर्गे कथानका, প্যাকেজ, ডাবলু, পিসি, সল্যাশ, পলিসি স্ল্যাশ থেকে পালাতে হবে না, তাই আপনি এটি করতে পারেন :s;.;/ \\;g। 2) আপনার দ্বিতীয় বিকল্প কমান্ডে, আপনি অনুসন্ধানটি খালি ছেড়ে দিতে পারেন এবং এটি আপনার সর্বশেষ অনুসন্ধানটি ব্যবহার করবে (যা ঠিক একই রকম হয়)। এছাড়াও, &সমতুল্য \0এবং এক বাইট সংক্ষিপ্ত। সুতরাং আপনি পান:s// & /g
DJMcMayhem

ধন্যবাদ! আমি আপনার কাছ থেকে একটি ভি উত্তর দেখার আশা করেছিলাম আপনি কম বাইটের জন্য আলাদা পদ্ধতির ব্যবহার করেছেন কিনা তা দেখার জন্য, তবে এটি ঠিক আছে! আমার মনে হয় প্রথম মন্তব্যটি চেষ্টা করে দেখুন এটি চেষ্টা করুন অনলাইন লিঙ্কটি আপডেট করতে ভুলে যাওয়া। দ্বিতীয়টি আমাকে 3 বাইট পেয়েছে, তাই আপনাকে ধন্যবাদ!
nmjcman101

4

গণিত, 65 বাইট

" "<>Range[1,#,2]~StringRiffle~"  "<>"
"<>"/ \\"~Table~⌈#/2⌉&

বেনামে ফাংশন। ইনপুট হিসাবে একটি সংখ্যা নেয় এবং আউটপুট হিসাবে একটি স্ট্রিং প্রদান করে। ইউনিকোডের অক্ষরগুলি যথাক্রমে U + 2308 বাম CEILING \[LeftCeiling]এবং এর জন্য U + 2309 ডান সিইলিংগ \[RightCeiling]


4

WinDbg, 100 বাইট

.echo;.for(r$t1=1;@$t1<=2*@$t0+@$t0%2;r$t1=@$t1+2){j@$t1<=@$t0 .printf"\b %d \n",@$t1;.printf"/ \\"}

সিউডো-রেজিস্টারে একটি মান সেট করে ইনপুট করা হয় $t0

দেখে মনে হচ্ছে এটি স্ট্রিংটি তৈরি করার কারণে এটি প্রথমে তৈরি করার চেয়ে প্রথমে এটি তৈরি করার চেষ্টা করুন এবং পুরো জিনিসটি প্রদর্শন করুন sh উইনডিবিজি যদি আমাকে ঠিকানায় লিখতে দেয় তবে আমার একটি সংক্ষিপ্ত সমাধান হবে 0

কিভাবে এটা কাজ করে:

.echo;                                            * Print a new line that'll be deleted
.for(r$t1=1; @$t1 <= 2*@$t0+@$t0%2; r$t1=@$t1+2)  * Enumerate 1 to 4*ceil($t0/2), count by 2
{
    j@$t1<=@$t0                                   * If $t1 <= $t0...
        .printf"\b %d \n",@$t1;                   * ...Print $t1 (and newline for last n)
        .printf"/ \\"                             * ...Else print the / \'s
}

প্রতিটি মানের জন্য আউটপুট n:

0:000> .for(r$t0=0;b>@$t0;r$t0=@$t0+1){.printf"\n\nn=%d\n",@$t0; .echo;.for(r$t1=1;@$t1<=2*@$t0+@$t0%2;r$t1=@$t1+2){j@$t1<=@$t0 .printf"\b %d \n",@$t1;.printf"/ \\"}}


n=0



n=1
 1 
/ \

n=2
 1 
/ \

n=3
 1  3 
/ \/ \

n=4
 1  3 
/ \/ \

n=5
 1  3  5 
/ \/ \/ \

n=6
 1  3  5 
/ \/ \/ \

n=7
 1  3  5  7 
/ \/ \/ \/ \

n=8
 1  3  5  7 
/ \/ \/ \/ \

n=9
 1  3  5  7  9 
/ \/ \/ \/ \/ \

n=10
 1  3  5  7  9 
/ \/ \/ \/ \/ \

4

> <> (এফআইএসএইচ), 69 60 68 55 বাইট

5|v&+%1:,2
1->:?!v:
8~v!?l<on$o:*4
a&/o
1->:?!;"\ /"ooo

এই অনলাইন দোভাষীর মধ্যে এটি আটকান!

প্রথম লাইনে 5 নম্বরটি হ'ল আপনার ইনপুট মান (5 হিসাবে হার্ড কোডড, ব্যবহারকারীর ইনপুটটির জন্য 0-a বা i দ্বারা প্রতিস্থাপিত)।

সম্পাদনা 1: নতুন লাইন প্লেসমেন্টটি প্রথম লাইন স্পেসে সরানো হয়েছে (খালি ছিল) একটি নতুন লাইন থেকে স্পেসে সামগ্রিকভাবে 9 বাইট সংরক্ষণ করতে।

সম্পাদনা 2: ব্যবহারকারী 7150406 দ্বারা উল্লিখিত হিসাবে আউটপুটটি ভুল ছিল (কোনও স্পেস প্রিন্টিং নেই) এটি 8 বাইটের ক্ষতি সহ স্থির করা হয়েছে।

3 সম্পাদনা করুন: যুক্তিটি সম্পূর্ণরূপে পরিবর্তিত হয়েছে, সংখ্যাটি বিজোড় কিনা তা পরীক্ষা করে দেখার দরকার নেই - বরং সমস্ত সংখ্যা স্ট্যাকের উপরে রাখুন এবং প্রতিটি দ্বিতীয়টি মুছে ফেলুন। বাইটে 13 টি সংরক্ষণ!


4

জাভা, 118 112 বাইট

সম্পাদনা: সংরক্ষিত 6 বাইট @ পেচ ধন্যবাদ

Golfed:

String M(int n){String o=" ";int i=1;n+=1;for(;i<n;i+=2)o+=i+"  ";o+="\n";for(i=0;i<n/2;i++)o+="/ \\";return o;}

Ungolfed:

public String M(int n)
{
    String o = " ";
    int i=1;
    n += 1;
    for (; i < n;i+=2)
        o += i + "  ";
    o += "\n";
    for (i = 0; i < n/2; i++)
        o += "/ \\";
    return o;  
}

পরীক্ষামূলক:

    OddMountains om = new OddMountains();
    System.out.println(om.M(1));
    System.out.println();
    System.out.println(om.M(3));
    System.out.println();
    System.out.println(om.M(5));
    System.out.println();
    System.out.println(om.M(7));
    System.out.println();
    System.out.println(om.M(10));

 1  
/ \

 1  3  
/ \/ \

 1  3  5  
/ \/ \/ \

 1  3  5  7  9  
/ \/ \/ \/ \/ \

আহহহ, আপনি আমাকে এতে মারধর করেছেন :) আমিও জাভা উত্তর পোস্ট করতে চেয়েছিলাম। যাইহোক, এটিকে আরও কিছুটা গল্ফ করার জন্য এখানে কিছু পরামর্শ রইল: iলুপের জন্য আপনার প্রথমটি আরম্ভ করার দরকার নেই , এটি দেখতে এটির মতো দেখাতে পারে for(; i < n; i++)। আপনি এই পরিবর্তনটির সাথে আরও গল্ফ করতে পারেন: লুপে এবং এর জন্য o += i + " ";পরিবর্তনগুলি o += i++ + " ";হয়ে যায় for(; i < n; )। এটি যদি আপনি বিবৃতি রাখতে চান। আপনি আপনার ইনক্রিমেন্ট পরিবর্তন করতে পারেন i += 2 এবং বিবৃতি পুরো মুছতে পারেন, তবে সেক্ষেত্রে আমার দ্বিতীয় প্রস্তাবটি প্রযোজ্য নয় :) (পিএস: আমি এটি পরীক্ষা
করিনি

@ পেইচ যদি এটি কোনও সান্ত্বনা থাকে তবে সাধারণত আমার জন্য প্রথম সি # উত্তরটি পাওয়ার জন্য এটি একটি প্রতিযোগিতা that's যদি চলে যায় তবে আমি জাভা উত্তর দিয়ে আমার পথকে ধুয়ে ফেলি :) টিপসটির জন্য ধন্যবাদ। আমি লুপ iথেকে সূচনাটি সরিয়ে ফেলেছি for, তবে অন্যান্য জিনিসগুলি এটি লুপে আটকে গেছে। আমার এটির সাথে আরও কিছুটা খেলার প্রয়োজন হতে পারে :)
পিট আরডেন

হু, আমি খুব আনন্দিত যে আমার আগের মন্তব্যে আমি বলেছিলাম "আমি এটি পরীক্ষা করে দেখিনি" ... অবশ্যই এটি o += i++ + " ";:) এর সাথে কাজ করে না। BTW, আপনি আপনার কোড একটি ছোট বাগ আছে :) যেহেতু জাভা ব্যবহার floor()পূর্ণসংখ্যা বিভাজন (4/3 = 1), আপনি এটা ভালো করা উচিত: int i = 1; n += 1; for (; i < n; i += 2) { ... jada jada ... }। আপনি যদি আমার দ্বারা বৃদ্ধি করেন তবে আপনার i += 2প্রয়োজন নেই যদি সমতাটির জন্য বিবৃতি পরীক্ষা করা হয়। এটি আরও 3 বাইট সাশ্রয় করে :) এখানে চেষ্টা করে দেখুন: ideone.com/ekaUUH
পিচ

@ পেইচ যদি কেউ আমার কোড সংশোধন করার পক্ষে যথেষ্ট আত্মবিশ্বাসী থাকে তবে আমি ধরে নিই যে এটি অবশ্যই সঠিক হতে হবে, সুতরাং যখন এটি কাজ করে না, আমি বার বার চেষ্টা করে "এটি অবশ্যই আমার হতে হবে ..." :) চিন্তা নেই! টিপসটির জন্য ধন্যবাদ - floorকিছুদিন আগে কিছু জাভা দিয়ে খেলতে গিয়ে আমি বিভাগটি নিজেকে শিহরিত করে আবিষ্কার করেছি :)
পিট আরডেন

3

সি # 6, 95 বাইট

n=>{var o="";int i=1;for(;i<=n;i+=2)o+=$" {i} ";o+='\n';for(i=1;i<=n;i+=2)o+="/ \\";return o;};

পূর্ণ ল্যাম্বদা:

Func<int, string> a = n=>
{
    var o="";int i=1;
    for(;i<=n;i+=2)
        o+=$" {i} ";
    o+='\n';
    for(i=1;i<=n;i+=2)
        o+="/ \\";
    return o;
};

3

সিজেম, 26 23 বাইট

Sri,:)2%_S2**N@,"/ \\"*

এটা পরীক্ষা করো!

-3 8478 (মার্টিন ইন্ডার) এর জন্য ধন্যবাদ


কিছু স্ট্যাক ম্যানিপুলেশন এড়িয়ে আপনি 3 বাইট বাঁচাতে পারেন:Sri,:)2%_S2**N@,"/ \\"*
মার্টিন এন্ডার

@ মার্টিনএন্ডার ওহ, সুতরাং আমি এটিকে সরাতে পারিনি +। এবং আমি দিব্যি, আমি সত্যিই ব্যবহার ed! ... পাইথের চেয়ে ছোট
এরিক দি আউটগল্ফার

3

গেম মেকার ল্যাঙ্গুয়েজ (জিএম 8.0), 97 বাইট

m=ceil(argument0/2)e=""for(i=1;i<2*m;i+=2)e+=" "+string(i)+" "return e+"#"+string_repeat("/ \",m)

প্রদত্ত ইনপুটটি সর্বাধিক 10 হলে, chr(48+i)এটি জায়গায় কাজ করবে string(i), যদিও বাইটের সংখ্যা একই।

রিডেবল:

m = ceil(argument0/2)
e = ""
for (i = 1; i < 2*m; i += 2 )
  e += " " + string(i) + " "
return e + "#" + string_repeat("/ \", m)

3

পাইথ, 24 22 বাইট

K-SQyMS5+dj*2dK*lK"/ \

-1 বাইটের জন্য 42545 (ETH প্রোডাকশন) ধন্যবাদ

অনলাইন দোভাষী

১১ টি পরীক্ষার মামলা


এর সাথে একটি উদ্ধৃতি সংরক্ষণ করুন*lK"/ \\
ETH প্রোডাকশন

@ এথ প্রডাকশনগুলি তারপরে আপনি :) এর \পরিবর্তে ব্যবহার করতে পারেন \\:)
এরিক আউটগোল্ফার

3

> <> (মাছ) 52 63 62 বাইট

<v!?:-1:!?-1%2:
 >~la}}" "72.
v!?-2lno<o"  "
o
>:?!;"\ /"ooo1-

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

nস্ট্যাকের উপর সহজভাবে জায়গা ব্যবহার করতে এবং আপনি চলে যান!

এর বেশিরভাগ অংশ @ টিল-পেলিকানের উত্তর :) থেকে নেওয়া হয়েছে।

সম্পাদনা করুন: আউটপুট আসলে> <> জমা দেওয়ার ক্ষেত্রে সঠিকভাবে প্রান্তিক হয় না! স্থাপন করা...

সম্পাদনা 2: আমাকে কিছু বাইট ত্যাগ করতে হয়েছিল, তবে আউটপুটটি এখনই সঠিক।

সম্পাদনা 3: \ /আয়নাগুলি দিয়ে আর মজা করা যায় না এবং আমি 1 বাইট সংরক্ষণ করি।

আউটপুট:

 1  3  5  7  9
/ \/ \/ \/ \/ \

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

সমস্যা নেই, আমি> << সাবমিশনটি দেখে খুশি হয়েছিলাম! এই পরিবর্তনগুলি আমার বেশ খারাপ হাহাকে আঘাত করায় এখন কোনটি ছোট হওয়ার শেষ নেই তা দেখতে আকর্ষণীয় হবে।
redstarcoder

দেখে মনে হচ্ছে আমি 5 বাইট আরও কম জুলু: পি।
redstarcoder

আমি আমার এখন অন্য চেহারা নিতে যাচ্ছি আমি আহা কয়েকটা মাইট বাইটগুলি গ্রাস করতে পারি কিনা তা দেখতে।
টেলি পেলিকান

1
আমি বাড়িতে পৌঁছেছি এবং এটি সম্পর্কে নতুন উপায় সম্পর্কে ধারণা পেয়েছিলাম। আমার নতুন উত্তর 55 বাইট! : ডি - আমাকে এটিতে কাজ করার জন্য ধন্যবাদ, এটি মজাদার হয়েছে।
টেলি পেলিকান



2

ব্যাশ, 64, 59, 57, 51, 49, 48, 45 বাইট

সম্পাদনা করুন:

  • বিয়োগ 3 বাইট (STDIN এর পরিবর্তে $ 1 ব্যবহার করুন)
  • প্রতিস্থাপন আরও একটি বাইট বন্ধ -s ""সঙ্গে-s\
  • বিয়োগ 2 প্রতিস্থাপন বাইট printf, সঙ্গে SeQ -f (ধন্যবাদ @Adam!)
  • ফাংশনের পরিবর্তে স্ক্রিপ্টে রিফ্যাক্টর ( > <> বিট করতে )
  • অতিরিক্ত অতিরিক্ত স্থানগুলি সরানো হয়েছে
  • সেড এক্সপ্রেশনটি কিছুটা অনুকূলিত করে

Golfed

খণ্ড (45 বাইট):

seq -f" %g " -s\  1 2 $1|sed 'p;s| . |/ \\|g'

ফাংশন (মূল সংস্করণ) (57 বাইট):

M() { printf " %s %.0s" `seq 1 $1`|sed 'p;s| . |/ \\|g';}

পরীক্ষা

--- mountains.sh ----
#!/bin/bash
seq -f" %g " -s\  1 2 $1|sed 'p;s| . |/ \\|g'

>./mountains.sh 10
 1  3  5  7  9 
/ \/ \/ \/ \/ \

>M 10
 1  3  5  7  9 
/ \/ \/ \/ \/ \

2
sedউজ্জ্বল হয়। কোনও ফাংশন বা প্রিন্টফ ব্যবহার না করে আপনি 10 বাইট সংরক্ষণ করুন:seq -f" %g " -s "" 1 2 $1|sed 'p;s| . |/ \\|g'
অ্যাডাম

এটি একটি দুর্দান্ত পরামর্শ! ধন্যবাদ ! আমি এখনও ব্যবহার catstdin থেকে ইনপুট পড়তে, একটি প্রাক সংজ্ঞায়িত ভেরিয়েবল ব্যবহার করার জন্য ডেটা পাস হিসাবে আইএমও এটা সত্যিই ন্যায্য নয়।
জেপেলীন্

1
$1প্রোগ্রামে সঞ্চারিত প্রথম প্যারামিটার। আমি মনে করি না যে এটি প্রতারণা করছে meta.codegolf.stackexchange.com/questions/2447/…
অ্যাডাম

হ্যাঁ, আপনি ঠিক বলেছেন। আবার ধন্যবাদ !
জেপেলিন


2

রুবি 82 60 বাইট

আমি রুবির সাথে আরও ভাল থাকলে দ্রুত এবং নোংরা রুবি সমাধানটি আরও ভালভাবে অনুকূল হতে পারে

puts "",1.step($*[0].to_i,2).map{|x|$><<" #{x} ";"/ \\"}*""

ব্যবহার: prog.rb 10
আউটপুট:

 1  3  5  7  9
/ \/ \/ \/ \/ \

সম্পাদনা: @ মান্যাটওয়ার্ক দ্বারা অসংখ্য সম্পাদনা এবং অপ্টিমাইজেশন!


print$><<এবং স্ট্রিং ইন্টারপোলেশন ব্যবহার করুন " #{x} "। তবে .eachসেরাটি হ'ল কলব্যাক থেকে সরাসরি প্রথম লাইন আউটপুট করে এবং একটি ভেরিয়েবলের 2 য় লাইন তৈরি করে সংখ্যা হ্রাস করা ভাল s="";(1..$*[0].to_i).step(2){|x|$><<" #{x} ";s+="/ \\"};puts"",s। বা এমনকি puts"",(1..$*[0].to_i).step(2).map{|x|$><<" #{x} ";"/ \\"}*""
manatwork

Numeric#step2 পরামিতি গ্রহণ করে, তাই লম্বা পরিসীমা সিনট্যাক্স প্রায় প্রথম বন্ধনী প্রয়োজন এড়াতে পারেন: (1..$*[0].to_i).step(2)1.step($*[0].to_i,2)
manatwork

@ মান্যাটওয়ার্ক সত্যিই ভাল পরামর্শ! আমি আমার ভবিষ্যতের কোডগল্ফ পোস্টগুলিতে আপনার পরামর্শের অনেকগুলি ব্যবহার করে দেখতে পাচ্ছি তাই আমি ইনপুটটির সত্যই প্রশংসা করব।
বেন হিলি

1

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

n=>(f=n=>n?f(n-1)+(n%2?n+s:s):s=" ")(n)+`
`+"/ \\".repeat(++n/2)

পুনরাবৃত্তভাবে প্রথম লাইন তৈরি করে, তারপর দ্বিতীয়টি সংযোজন করে। প্রথম লাইন পর্যবেক্ষণ যে সহজভাবে পরিসীমা সঙ্গে তৈরি করা হয়েছে [0 ... এন] প্রতিটি আইটেমের সঙ্গে এন যদি এমনকি একটি স্থান থেকে রুপান্তরিত, বা এন একটি স্থান যদি বিজোড় সঙ্গে ঘনিভূত।


1

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

সংরক্ষিত 6 বাইট @ কেডকে ধন্যবাদ!

lambda s:" "+"  ".join(`range(s+1)`[4::6])+"\n"+-~s/2*"/ \\"

আপনাকে কোনও list()কাস্ট ব্যবহার করার দরকার নেই , এটি সরিয়ে আপনি 60 তে পৌঁছে যান :)
কেড

@ কেড ব্যাকটিক্স `` `it এটিকে একটি স্ট্রিং বানান। আমি এটির মতো করতে পারি না lambda s:" "+" ".join(range(s+1)[1::2])+"\n"+-~s/2*"/ \\"eকারণ তারপরে এটি ইনটগুলির একটি তালিকা দেবে এবং এটি মারা যায়
অলিভার নি


@ কেহে হু এটি অনলাইনে কাজ করে না ... কিছু মনে করবেন না, আমি কেন জানি না কেন এটি কাজ করে নি ...
অলিভার নি

1

ব্যাচ, 107 বাইট

@set s=
@set t=
@for /l %%i in (1,2,%1)do @call set s=%%s%%  %%i&call set t=%%t%%/ \
@echo%s%
@echo %t%

1

স্কালা, 99 95 বাইট

(? :Int)=>for(i<-0 to 1)println(1 to ?filter(c=>c%2>0)map(c=>if(i<1)s" $c "else"/ \\")mkString)

Ungolfed

(? :Int) => 
    for (i<-0 to 1)
        println(
            1 to ?filter(c=>c%2>0)
                  map(c=>if(i<1)s" $c "else"/ \\")
                  mkString
        )


1

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

f=@(n)reshape(sprintf(' /%d \',1:2:n),2,[]);

পরীক্ষা:
চ (8)

 1  3  5  7
/ \/ \/ \/ \

ইনপুট = 0 হলে, একটি / বাম থাকে :)
Sygmei

আপনার উত্তরটি সঠিক নয় বলে! কেবলমাত্র সেই ছোট মজার
ভুলটি

আমি ধরে নিতে পারি না এন == 0 :(
rahnema1

1

কিউবিআইসি , 35 বাইট

:[1,a,2|X=X+!b$+@ | Y=Y+@/ \|]?X ?Y

ব্যাখ্যা:

:           gets a CMD line param as INT 'a'
[1,a,2|     FOR b = 1 to a STEP 2
X=X+!b$+@ | Add to X$ the counter of our FOR loop and a trailing space
            Leading space is provided by the cast-to-string function.
Y=Y+@/ \|   Add to Y$ the mountain.
]           Close the first possible language construct (IF, DO or FOR). In this case: NEXT
?X ?Y       Print X$, Print Y$. The space adds a newline in the resulting QBASIC.


0

পার্ল, 46 + 2 ( -plপতাকা) = 48 বাইট

@_=map$_%2?$_:"",0..$_;$_="@_$/"."/ \\"x(@_/2)

ব্যবহার:

perl -ple '@_=map$_%2?$_:"",0..$_;$_="@_$/"."/ \\"x(@_/2)' <<< 7    

বা 52 বাইট:

@_=map$_%2?$_:"",0..pop;print"@_$/","/ \\"x(@_/2),$/

ব্যবহার:

perl -e '@_=map$_%2?$_:"",0..pop;print"@_$/","/ \\"x(@_/2),$/' 7
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.