এম্বেডড হীরা!


26

না, এই না । আর এই পারেন। এই প্রশ্নটি তাদের মতো কিছুই নয়

নিম্নলিখিত আউটপুট মুদ্রণ / ফিরিয়ে দিতে সংক্ষিপ্ত কোডটি লিখুন:

   /\      /\      /\
  /  \    /  \    /  \
 / /\ \  / /\ \  / /\ \
/ /  \ \/ /  \ \/ /  \ \
\ \  / /\ \  / /\ \  / /
 \ \/ /  \ \/ /  \ \/ /
  \  / /\ \  / /\ \  /
   \/ /  \ \/ /  \ \/
   /\ \  / /\ \  / /\
  /  \ \/ /  \ \/ /  \
 / /\ \  / /\ \  / /\ \
/ /  \ \/ /  \ \/ /  \ \
\ \  / /\ \  / /\ \  / /
 \ \/ /  \ \/ /  \ \/ /
  \  /    \  /    \  /
   \/      \/      \/
  • ইনপুট / আউটপুট মানক পদ্ধতি।
  • স্ট্যান্ডার্ড লুফোলস প্রযোজ্য।
  • ট্রেলিং / শীর্ষস্থানীয় সাদা স্থান কোনও পরিমাণেই ঠিক আছে।

3
না এই, এমন নয় যে, সম্পর্কে কি এই ?
ম্যাথু রোহ

উত্তর:


14

কাঠকয়লা , 28 24 23 বাইট

↗²↖↙⁴⟲P²⁴⁶↘↙↙²⟲P²⁴⁶C⁸¦⁰

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

↗²↖↙⁴   Draw the top left 4x4 corner
         /
        //
⟲P²⁴⁶   Rotate it three times to complete a diamond
         /\
        //\\
        \\//
         \/
↘↙↙²    Draw the top left line of the inner diamond
         /\
        //\\
        \\//
         \//
⟲P²⁴⁶   Rotate three times to complete five diamonds
C⁸¦⁰    Copy everything 8 characters to the right to complete eight diamonds

সম্পাদনা: আমার পূর্ববর্তী উত্তরটি ‖M‖M↓শীর্ষ কোণটি প্রতিবিম্বিত করে একটি সম্পূর্ণ হীরা তৈরি করতে ব্যবহৃত হয়েছিল, তবে চারকোলে একটি বাগের কারণে এটি কার্সারকে অবস্থানের বাইরে রেখে দিয়েছে। ভাগ্যক্রমে আমি একই প্রভাব অর্জনের অন্য একটি উপায় আবিষ্কার করেছি যা কার্সারটি সরায় না, যার অর্থ আমি অভ্যন্তরের হীরাটি আঁকতে একটি বাইট সংরক্ষণ করেছি। (আমি ওভারল্যাপিং অপারেশনগুলিও দেখেছি, তবে আমি ঘোরানো / অনুলিপি পদ্ধতির উন্নতি করতে সক্ষম হইনি))

সম্পাদনা করুন: ↖²↗↘⁴‖M¬M¹¦³↘²‖M¬C⁸¦⁰21 বাইটে কাজ করে তবে এটি নতুন প্রতিবিম্বিত আচরণের উপর নির্ভর করে, তাই পুরানো কোড দিয়ে এটি সম্ভব হয়েছিল কিনা তা আমি জানি না।


হ্যাঁ, দুঃখিত, এটি একটি বাগ ছিল - আমি এটি স্থির করেছি এবং এএসএপটিকে ধাক্কা দেওয়ার চেষ্টা করব, তবে এটি এখনও খুব কম সংক্ষেপে: O +1
ASCII-

@ এএসসিআইআই-শুধুমাত্র যদি আমি টিআইও ব্যবহার করে থাকি তবে এটি কীভাবে আমাকে প্রভাবিত করে?
নীল

ঠিক আছে, এটি এখনও ক্যাশেড রয়েছে, যতক্ষণ না এটি ক্যাশ করা হয়, ঠিক তাই করা উচিত যদি আপনি যা বোঝাতে চান
ASCII-

@ এএসসিআইআই-আমি যা জানতে চাই তা হ'ল টিআইওর আচরণের পরিবর্তন হলে আমি একটি আপডেটেড (যদিও প্রতিযোগিতামূলক না) লিঙ্ক সরবরাহ করতে সক্ষম হতে চাই।
নিল

ওহ, সেক্ষেত্রে এটি ইতিমধ্যে ঠিক আছে
ASCII-

7

কাঠকয়লা , 62 50 48 45 42 40 বাইট

দুটি বাইট সংরক্ষণ করার জন্য @ ওকএক্সকে ধন্যবাদ!

↙²→↘²↙↖⁴→↗⁴‖MF²C⁸¦⁰M⁸↓→↗²↓↘²M⁴→↑↗²↓↘²‖M↓

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

ব্যাখ্যা:

↙²→↘²          // Draw the left half of the inner part of the first diamond.
↖⁴→↗⁴          // Draw the left half of the outer part.
‖M             // Mirror the half of the diamond to create the first full diamond.
F²C⁸¦⁰         // Copy the picture eight characters to the left twice.
               // The first copy gives us two diamonds, and the second copy of the
               // two diamonds overlaps so that the result is three diamonds.
M⁸↓→↗²↓↘²     // Move down to draw the upper inner half of the first middle diamond.
M⁴→↑↗²↓↘²     // Move right to do the same for the second middle diamond.
‖M↓           // Mirror the whole thing vertically.

1
বাইট সংরক্ষণ করতে আপনি এর C⁸¦⁰C⁸¦⁰সাথে প্রতিস্থাপন করতে পারেন F²C⁸¦⁰¦
Okx

@ অকক্স ধন্যবাদ! আসলে, এটি দুটি বাইট সংরক্ষণ করে, কারণ এটি পিছনে ছাড়াই কাজ করে ¦
স্টেডিবক্স

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

6

05 এ বি 1 ই , 45 44 43 বাইট

কোড:

…/ \©•—‹íćCé']d₂2ó@¯çX‘¯¨•3вè8äJvy®‡«}»Â»

প্রি-ব্যাখ্যা:

•—‹íćCé'\]d₂2ó@¯çX‘¯¨•3вঅংশ নিম্নলিখিত অ্যারের শুধু একটি সংকুচিত সংস্করণ:

[1, 1, 1, 0, 2, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 2, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 2, 1, 2, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 2, 1, 2, 0, 1, 0, 1, 2, 1, 2, 1, 1, 0, 1, 0, 2, 1, 2, 1, 1, 2, 1, 2, 0, 1, 0, 1, 1, 2, 1, 2, 1, 1, 2, 1, 1, 0, 1, 0, 2, 1, 2, 1, 1, 1, 1, 2, 0, 1, 0, 1, 1, 2, 1, 2]

যা আমরা স্ট্রিং মধ্যে সূচক …/ \। এই মানচিত্র 0 -> /, 1 -> space, 2 -> \। এর পরে, আমরা নিম্নলিখিত প্রোগ্রামটি সহ এই স্ট্রিংটি প্রক্রিয়া করি:

8äJvy®‡«}»Â»

8ä               # Split the array into 8 pieces
  J              # Join each sub-array in the array
   vy     }      # For each string in the array
     Â           #   Bifurcate (duplicate and reverse)
      ®          #   Push the string "/ \" (which was copied using ©)
       Â         #   Bifurcate to get "\ /"
        ‡        #   Transliterate / -> \ and \ -> /
         «       #   Append to the original string
           »     # Join the entire stack on newlines
            Â    # Bifurcate
             »   # Join the stack by newlines

05AB1E এনকোডিং ব্যবহার করে । এটি অনলাইন চেষ্টা করুন!


05 এ বি 1 ই ASCII- আর্টে খুব ভাল, দেখে মনে হচ্ছে ...
Esolanging ফল

4
চৌদ্দটি পেরিয়ে গেছে এখনও চৌদ্দটি is
Okx


5

পিএইচপি, 126 বাইট

<?=gzinflate(base64_decode("vY7BCQAwCAP/mSIbuJD7z1GJLbbiuz5yKCeEpDk1RUSQWm8iMiRnIyw178Qgi5hs3ceHOA86snN7ON2b/687X+7umuIC"));

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

পিএইচপি, 149 বাইট

$s=strtr("000
111
222
333
444
555
  \ 22 /  
   \\33/   ",["   /\   ","  /  \  "," / /\ \ ","/ /  \ \\","\ \  / /"," \ \/ / "]);echo"$s
".strrev($s);

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


3

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

_=>(a=`3868683
2/274/274/272
1/18172/18172/18171
/1/27191/27191/2717
7172/18172/18172/1/
17191/27191/27191/1
272/18172/18172/2
391/27191/27193`.replace(/\d/g,n=>n>6?['\\','/\\','\\/'][n-7]:' 
'.repeat(n)))+`
`+[...a].reverse().join``

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

const f = _=>(a=`3868683
2/274/274/272
1/18172/18172/18171
/1/27191/27191/2717
7172/18172/18172/1/
17191/27191/27191/1
272/18172/18172/2
391/27191/27193`.replace(/\d/g,n=>n>6?['\\','/\\','\\/'][n-7]:' '.repeat(n)))+`
`+[...a].reverse().join``

console.log(`
${f()}
`)


আমার নীচে একটি 126 বাইট সমাধান রয়েছে। :)
স্টিভ বেনেট

3

রুবি, 99 97 বাইট

400.times{|i|print (23<x=i%25)?$/:" /  \\   "[(x^y=i/25)&4^x+y&1^(x-2&4&y-2>y/6%2*x/2%11*4?2:0)]}

ব্যাখ্যা

প্রতিটি 4x4 বর্গক্ষেত্রে কেবল শূন্যস্থান এবং /বা থাকে \। আমরা সামগ্রিক হীরক নিদর্শন দেওয়ার জন্য এগুলি পরিকল্পনা করি। সীমান্তে আংশিক নিদর্শন এড়াতে, 2x2 বর্গক্ষেত্র অবশ্যই নীচের মতো ফাঁকা রাখতে হবে।

.. /\ .... /\ .... /\ ..
../  \..../  \..../  \..
 / /\ \  / /\ \  / /\ \
/ /  \ \/ /  \ \/ /  \ \
\ \  / /\ \  / /\ \  / /
 \ \/ /  \ \/ /  \ \/ /
..\  / /\ \  / /\ \  /..
.. \/ /  \ \/ /  \ \/ ..
.. /\ \  / /\ \  / /\ ..
../  \ \/ /  \ \/ /  \..
 / /\ \  / /\ \  / /\ \
/ /  \ \/ /  \ \/ /  \ \
\ \  / /\ \  / /\ \  / /
 \ \/ /  \ \/ /  \ \/ /
..\  /....\  /....\  /..
.. \/ .... \/ .... \/ ..

অবহেলিত সংস্করণ - ব্যাখ্যায় সহায়তার জন্য উপরের মুদ্রণের জন্য সংশোধিত

400.times{|i|print (23<x=i%25)?$/:     #Calculate x. If last column, print a newline else
  " /..\\ .."[(x^y=i/25)&4^x+y&1^      #If (x^y)&4==4, use x+y&1 to select between space and /. If (x^y)&4==0 select between \ and space.
  (x-2&4&y-2>y/6%2*x/2%11*4?2:0)]      #If x-2&4&y-2==4, and we are on the 2 character wide border (y/6%2*x/2%11==0), XOR with 2 to print .
}


1

সি #, 608 বাইট

void q(){Action<string>a=Console.Write;Func<int,int,string>b=(c,d)=>new string(' ',c)+(d<1?"/\\":d<2?"/  \\":d<3?"/ /\\ \\":d<4?"/ /  \\ \\":d<5?"\\ \\  / /":d<6?"\\ \\/ /":d<7?"\\  /":"\\/");Action e=()=>a(b(0,4)+b(0,4)+b(0,4)+"\n"+b(1,5)+b(2,5)+b(2,5)+"\n");Action f=()=>a(b(1,2)+b(2,2)+b(2,2)+"\n");Action g=()=>a(b(0,3)+b(0,3)+b(0,3)+"\n");a(b(3,0)+b(6,0)+b(6,0)+"\n"+b(2,1)+b(4,1)+b(4,1)+"\n");f();g();e();a("  \\  / /\\ \\  / /\\ \\  /\n"+"   \\/ /  \\ \\/ /  \\ \\/\n"+"   /\\ \\  / /\\ \\  / /\\\n"+"  /  \\ \\/ /  \\ \\/ /  \\\n");f();g();e();a(b(2,6)+b(4,6)+b(4,6)+"\n"+b(3,7)+b(6,7)+b(6,7)+"\n");}

আমি এটি আর তৈরি করতে চাইছি না তবে মনে হচ্ছে আপনি নিখোঁজ রয়েছেন using System;। আমি আরও নিশ্চিত যে আপনি আরও বেশি গল্ফ করতে পারেন তবে আমি 100% নিশ্চিত হতে খুব বেশি সময় ব্যয় করি না।
TheLethalCoder

এটি আউটপুট থেকে দীর্ঘতর তাই ঠিক System.Console.WriteLine(@"...");200 উত্তর বাইট দ্বারা আমার উত্তর বীট হবে।
LiefdeWen

1

সি #, 382 291 বাইট

_=>string.Format(@"{5}{5}{5}
{2}{2}{2}
{0}{0}{0}
{1}{1}{1}
\ \ {0}{0} / /
 \ \{1}{1}/ /
  \ {0}{0} /
   \{1}{1}/
   /\ \ {0} / /\
  /  \ \{1}/ /  \
 {0}{0}{0}
{1}{1}{1}
\ \ {0}{0} / /
 \ \{1}{1}/ /
{4}{4}{4}
{3}{3}{3}",@" / /\ \ ",@"/ /  \ \",@"  /  \  ",@"   \/   ",@"  \  /  ",@"   /\   ");

1

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

for(c=r=a='';r<16;c++>22&&(r++,c=0,a+=`
`))C=c%22>1&&r%14>1,q=[1,,C&&r&2,,,,C&&~r&2,,1],a+=q[c+5+r&7]?'/':q[r-c+20&7]?'\\':' '

যেহেতু এটি এখন বেশ অপঠনযোগ্য, একটি প্রাথমিক ব্যাখ্যা:

  • আমরা স্থানটি উপরের বাম থেকে নীচে ডানদিকে টালি করি
  • আমরা এটিকে মূলত 6 টি তির্যক রেখা হিসাবে আঁকি যা প্রতি 8 টি অক্ষরের পুনরাবৃত্তি করে: 2 টি শক্ত রেখা এবং 4 যা "ড্যাশড" হয় (দুটি অক্ষর, তারপরে দুটি স্পেস ...)
  • C=...কাপড় একটি সীমান্ত বাক্সের মধ্যে লাইনের কিছু অঙ্কন সীমা হয়
  • অনেকগুলি অক্ষর সংরক্ষণ করতে, আমরা ইচ্ছাকৃতভাবে উপরের এবং নীচের দিকে লাইনগুলিকে অত্যন্ত অনুরূপ করার জন্য সংখ্যা যুক্ত করি
  • তারপরে, বাক্যগুলিকে একটি বিচ্ছিন্ন অ্যারেতে রাখুন [1,,C&&...], যা আমরা সন্ধান করি। যদি সত্যবাদী মান থাকে তবে আমরা উপযুক্ত চরিত্রটি আঁকি।

-

for(c=r=a='';r<16;c++>22&&(r++,c=0,a+=`
`))                 // basic grid tiling
C=c%22>1&&r%14>1,   // are we not near the edges
q=[1,               // a solid line that always draws
,                   // a line that never draws
C&&r&2,             // a line that draws if not near the edge, and if on the correct "dash" (r&2)
,,,
C&&~r&2,            // if not near the edge, and on the opposite "dash" (~r&2)
,1                  // the opposite diagonal line that always draws
],
a+=q[c+5+r&7]?'/' // compute which upward line we're on, check whether to draw it
:q[r-c+20&7]?'\\' // do the same for the downward line
:' '                // otherwise draw a space

সম্ভবত এই ব্যাখ্যা সাহায্য না করে। :)

অনলাইনে চেষ্টা করুন: https://codepen.io/stevebennett/pen/WjgMpY

আশা করি আমি সঠিক ফলাফল পেয়েছি:

   /\      /\      /\   
  /  \    /  \    /  \  
 / /\ \  / /\ \  / /\ \ 
/ /  \ \/ /  \ \/ /  \ \
\ \  / /\ \  / /\ \  / /
 \ \/ /  \ \/ /  \ \/ / 
  \  / /\ \  / /\ \  /  
   \/ /  \ \/ /  \ \/   
   /\ \  / /\ \  / /\   
  /  \ \/ /  \ \/ /  \  
 / /\ \  / /\ \  / /\ \ 
/ /  \ \/ /  \ \/ /  \ \
\ \  / /\ \  / /\ \  / /
 \ \/ /  \ \/ /  \ \/ / 
  \  /    \  /    \  /  
   \/      \/      \/   

ইতিহাস

130

for(c=r=a='';r<16;c++>22&&(r++,c=0,a+=`
`))C=c%22>1&&r%14>1,q=[1,,C&&r&2,,,,C&&~r&2,,1],a+=q[(c+5+r)%8]?'/':q[(r-c+20)%8]?'\\':' '

133

for(c=r=a='';r<16;c++>22&&(r++,c=0,a+=`
`))C=c%22>1,q=[1,,C&&r&2&&r<14,,,,C&&~r&2&&r>1,,1],a+=q[(c+5+r)%8]?'/':q[(r-c+20)%8]?'\\':' '

137

for(c=r=a='';r<16;c++==23&&(r++,c=0,a+=`
`))C=c<22&&c>1,q=[1,,C&&r&2&&r<14,,,,C&&~r&2&&r>1,,1],a+=q[(c+5+r)%8]?'/':q[(r-c+20)%8]?'\\':' '

155

for(c=r=a='';r<16;c++==23&&(r++,c=0,a+=`
`))Z=(C=c<22&&c>1)&&~r&2&&r>1,Y=C&&r&2&&r<14,B=(c-r+12)%8,A=(c+5+r)%8,q=[1,,Y,,,,Z,,1],a+=q[A]?'/':q[8-B]?'\\':' '

ইতিহাস: 172

for(c=r=a='';r<16;c++==23&&(r++,c=0,a+='\n'))a+=(Z=(C=c<22&&c>1)&&~r&2&&r>3,Y=C&&r&2&&r<12,B=(c-r+16)%8,A=(c+r)%8,A==3||A==5&&Y||A==1&&Z?'/':B==4||B==2&&Y||B==6&&Z?'\\':' ')

1

ক্যানভাস , 18 বাইট

4/2/33╋╬2/77╋╬:91╋

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

ব্যাখ্যা:

4/           push a diagonal of length 4
  2/         push a diagonal of length 2
    33╋      insert that at [3;3] in the 1st diagonal
                    /
                   / 
                  / /
                 / / 
╬            quad-palindromize with 0 overlap
 2/77╋       insert a 2-long diagonal in the bottom-right corner
                    /\   
                   /  \  
                  / /\ \ 
                 / /  \ \
                 \ \  / /
                  \ \/ / 
                   \  / /
                    \/ / 
      ╬      quad-palindromize with 0 overlap, creating most of the output
                    /\      /\   
                   /  \    /  \  
                  / /\ \  / /\ \ 
                 / /  \ \/ /  \ \
                 \ \  / /\ \  / /
                  \ \/ /  \ \/ / 
                   \  / /\ \  /  
                    \/ /  \ \/   
                    /\ \  / /\   
                   /  \ \/ /  \  
                  / /\ \  / /\ \ 
                 / /  \ \/ /  \ \
                 \ \  / /\ \  / /
                  \ \/ /  \ \/ / 
                   \  /    \  /  
                    \/      \/   
       :91╋  overlap self on [9;1]

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