পিরামিড স্কিম নেগেশন


13

আমার ভাষায় পিরামিড স্কিমটিতে কিছুটা মজার কন্সট্রাক্ট রয়েছে: খালি ত্রিভুজ:

^
-

কোনও যুক্তি দেওয়া না হলে এটি ফিরে আসে 0। এই নির্মাণটি 1ব্যবহার করে উত্পন্ন করতে , আমরা এটি ব্যবহার করতে পারি:

   ^
  /!\
 ^---
 -

এটি কেবল 0প্রত্যাখ্যান ফাংশনে যায়। আমরা এই ফলাফল অবহেলা করা চালিয়ে যেতে পারেন:

 ^
/!\
---^
  /!\
 ^---
 -

০. পেতে আরও একটি অবহেলা দেয়:

   ^
  /!\
 ^---
/!\
---^
  /!\
 ^---
 -

চ্যালেঞ্জ

একটি পূর্ণসংখ্যা n ≥ 1 দেওয়া হয়েছে, বর্ণিত ফ্যাশনে খালি পিরামিডকে n বার উপেক্ষা করা হবে ।

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

input
output

1
   ^
  /!\
 ^---
 -

2
 ^
/!\
---^
  /!\
 ^---
 -

3
   ^
  /!\
 ^---
/!\
---^
  /!\
 ^---
 -

6
 ^
/!\
---^
  /!\
 ^---
/!\
---^
  /!\
 ^---
/!\
---^
  /!\
 ^---
 -

এখানে অবহেলা করে আমি মনে করি আপনার অর্থ বিটওয়াইজ পরিপূরক ( ~)?
ব্যবহারকারী 202729

@ ব্যবহারকারী 202729 না, আমার অর্থ নিয়মিত অবহেলা।
কনর ও'ব্রায়েন

সুতরাং এটি সি / সি ++ !( not)।
ব্যবহারকারী 202729

@ ব্যবহারকারী 202729 হ্যাঁ। যদিও এর অর্থ কী তা সমস্যার জন্য স্পর্শকাতর
কনর ও'ব্রায়েন

1
/! Ning সতর্কতা! /! \ আমি সর্বত্র সতর্কতা ত্রিভুজ দেখতে পাচ্ছি!
রেডক্লোভার

উত্তর:


7

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

FN«↙^→/!\¶³‖T»↓^-

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। ব্যাখ্যা:

FN«

উপকারের উপযুক্ত সংখ্যার জন্য লুপ।

↙^→/!\¶³

একটি প্রত্যাখ্যান ফাংশন মুদ্রণ করুন। ( ³প্রসারিত হয় ---।)

‖T

ক্যানভাস প্রতিফলিত করুন।

»↓^-

লুপের শেষে, খালি ত্রিভুজটি মুদ্রণ করুন।


শুধু এফআই, খালি ত্রিভুজটি এর -পরিবর্তে ব্যবহার করবে_
কনার ও'ব্রায়েন

@ কনরও'ব্রায়েন তা নির্দেশ করার জন্য ধন্যবাদ! আমি ভেবেছিলাম এটি একেবারে ঠিক মতো দেখাচ্ছে না, তবে এটিতে আমার আঙুলটি রাখা যায় না ...
নিল


2

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

n=>(s=`^
  /!\\
 ^---`,n%2?`   `+s:` ^`)+`
/!\\
---${s}`.repeat(n/2)+`
 -`

এটি চেষ্টা করুন:




1

জাভা 8, 104 বাইট

n->{String r=n%2>0?"   ^\n":" ^\n";for(;n-->0;r+=n%2<1?"  /!\\\n ^---\n":"/!\\\n---^\n");return r+" -";}

ব্যাখ্যা:

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

n->{                       // Method with integer parameter and String return-type
  String r=                //  Result-String, starting at:
           n%2>0?          //  If the input is odd:
            "   ^\n"       //   Start the result at "   ^" + new-line
           :               //  Else (the input is even):
            " ^\n";        //   Start the result at " ^" + new-line
  for(;n-->0;              //  Loop the input amount of times
    r+=n%2<1?              //   If the current row is even:
        "  /!\\\n ^---\n"  //    Append the result-String with "  /!\" + new-line
                           //                                  " ^---" + new-line
       :                   //   Else (the current row is odd):
        "/!\\\n---^\n"     //    Append the result-String with "/!\" + new-line
                           //                                  "---^" + new-line
  );                       //  End of loop
  return r                 //  Return the result-String
          +" -";           //   + " -"
}                          // End of method








0

পাইথন 3 , 167 বাইট

def f(n):
	g=[[" "]*5for _ in'  '*-~n];a=["^","/!\\","---"]
	for i in range(n):
		for r,R in zip(a,g[i*2:]):R[(i-n)%2*2+(r>"]"):]=r
	g[-2][1]="^";g[-1][1]="-";return g

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

-4 বাইটস জনাব এক্সকোডারকে
ধন্যবাদ -1 বাইট ধন্যবাদ জোনাথন ফ্রেচকে


' '*2*nহতে পারে ' '*n(দুই স্পেস, কিন্তু eugh ... দঃপূঃ markdown), এবং তারপর ' '*n+' 'দ্বারা প্রতিস্থাপিত হতে পারে ' '*-~nজন্য 168 বাইট
মিঃ এক্সকোডার

@ মিঃ এক্সকোডার ওহ দুর্দান্ত, ধন্যবাদ!
হাইপারনিউটারিনো

আমার মনে হয় r=="^"হতে পারে r>"]"
জোনাথন ফ্রেচ

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