পাই এর টুকরো বেক করুন


82

এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা এই সঠিক পাঠ্যটি প্রিন্ট করে বা আউটপুট করে (142 টি অক্ষর নিয়ে গঠিত):

()()()()()()
|\3.1415926|
|:\53589793|
\::\2384626|
 \::\433832|
  \::\79502|
   \::\8841|
    \::\971|
     \::\69|
      \::\3|
       \__\|

আপনার প্রোগ্রামটি অবশ্যই কোনও ইনপুট নেবে না (কেবলমাত্র ভাষাগুলিতে যেখানে এটি অসম্ভব, যেমন sed) এবং উপরের পাঠ্যটিকে (এবং কেবলমাত্র উপরের পাঠ্যটিকে) আউটপুট হিসাবে উত্পাদন করতে হবে। একটি পেছনের নতুন লাইন গ্রহণযোগ্য।

এটি , তাই সংক্ষিপ্ত উত্তরটি (বাইটে) জেতে।


9
@ রোহানঝুনঝুনওয়ালা এই সংকুচিত হতে পারে তার প্রমাণের জন্য লুই মেন্ডো এটি করেছিলেন
এরিক আউটগল্ফার

1
লল, আমি ভুল প্রমাণিত হয়েছি (এবং আমি আনন্দিত!) খুব চিত্তাকর্ষক
রোহান ঝুনঝুনওয়ালা

2
আপনি শীতল তাদের একটি পূর্ণসংখ্যার ইনপুট নেওয়ার জন্য একটি স্লাইস আউটপুট তৈরি করতে বাধ্য করেছেন যার ()শীর্ষে এন রয়েছে N এটি খুব জটিল হবে।
ব্যবহারকারী 6245072

5
ঠিক তাই আপনি জানেন, আপনার প্রয়োজন of 43 দশমিক স্থান π
এরিক আউটগলফার

4
তাই জীবনের অর্থ পাসে ....
উ: Mirabeau

উত্তর:


90

এমএটিএল , 70 68 67 বাইট

'()'12:)l10:&<toYP43Y$51hb(!10Xy'\::\'FFhZ++'|'3$Yc'||\'3:(95'Zd'o(

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

ব্যাখ্যা

কী এলোমেলো. তবে ওহে, একটা কনভলিউশন আছে!

কোনও বিবৃতি দেওয়ার পরে যদি আপনি স্ট্যাকের সামগ্রীগুলি পরীক্ষা করতে পারেন তবে ব্যাখ্যাটি আরও পরিষ্কার হবে । এটি করতে, কেবলমাত্র X#0$%সেই সময়ে sert োকান। (এর অর্থ: X# স্ট্যাকের সামগ্রীগুলি দেখান, 0$স্পষ্টভাবে অন্য কিছু প্রদর্শন করবেন না, %বাকী কোডটি মন্তব্য করুন)। উদাহরণস্বরূপ, সমঝোতার ঠিক পরে স্ট্যাকটি দেখুন

'()'       % Push this string
12:        % Range [1 2 ... 12]
)          % Index into string (modular, 1-based): gives '()()()()()()'
l          % Push 1 (will be used later)
10:        % Range [1 2 ... 10]
&<         % All pairwise "less than" comparisons. Gives matrix with "true"
           % below the main diagonal, and the remining entries equal to "false"
to         % Duplicate. Convert to numbers (true becomes 1, false becomes 0)
YP43Y$     % Compute pi with 43 significant digits (42 decimals). Gives a string
51h        % Append last decimal, '3' (ASCII 51). This is needed to avoid rounding
b          % Bubble up the true-false matrix, to be used as logical index
(          % Fill the chars from the pi string into the 0-1 matrix, at the positions
           % indicated by the true-false matrix. Thus each 1 is replaced by a char
           % from the pi string. Entries that were 0 remain as 0. This is done in
           % columm-major order...
!          % ...so transpose to make it row-major
10Xy       % Identity matrix of size 10
'\::\'     % Push this string...
FFh        % ...and append two zeros
Z+         % 2D convolution keeping size. The identity matrix convolved with the
           % above string gives the diagonal bands with chars '\'  and ':'
+          % Add to the matrix containing the digits of pi. At each entry, only one
           % of the two matrices is nonzero
'|'        % Push this string
3$Yc       % Three-input string concatenation. This prepends the 1 (which was pushed
           % a while ago) and appends '|' to each row of the matrix. This converts
           % the matrix to char. Note that char 1 will be displayed as a space. We
           % used char 1 and not char 0 (which would be displayed as a space too)
           % because function `Yc` (`strcat`) strips  off trailing space from the
           % inputs, counting char 0 as space, but not char 1
'||\'      % Push this string
3:(        % Assign it to the first 3 entries of the matrix (column-major), that is, 
           % to the top of the first column
95         % Push ASCII for '_'
'Zd'o      % Push string 'Zd' and convert to numbers: gives [90 100]. These are the
           % (column-major) indices where the '_' char should appear in the last row
(          % Fill those chars
           % Implicitly display. (Chars 0 and 1 are displayed as space)

14
লুই মেন্ডো, এটি চিত্তাকর্ষক। আমি পারলে দু'বার উপচে পড়তাম। আমি ভেবেছিলাম এটি একটি সংকোচনের কলমোগোরভ চ্যালেঞ্জ হবে। আমাকে ভুল প্রমাণ করার জন্য আপনাকে ধন্যবাদ!
রোহান ঝুনঝুনওয়ালা

3
@ রোহান আপনার সদয় কথার জন্য ধন্যবাদ!
লুইস মেন্ডো

1
: ডি সমস্যা নেই! : ডি
রোহান ঝুনঝুনওয়ালা

3
এটি আপনার কোডটিতে :)প্রদর্শিত হবে তার জন্য +1 ।
এরিক আউটগল্ফার

2
@ নীল জীবনের উজ্জ্বল দিকটি দেখুন ...
এরিক দ্য আউটগল্ফার

37

পার্ল, 93 বাইট

$_=bpi$=;printf'()'x6x!$`.'
%12s',F.ee x!$\--^substr"\32::\\$&|",-12while/.{$\}/g

কমান্ড লাইন বিকল্পের প্রয়োজন -l71Mbignum=bpi, 14 হিসাবে গণনা করা। এটি \32আক্ষরিক অক্ষর 26 দ্বারা প্রতিস্থাপন করা উচিত।

নমুনা ব্যবহার

$ perl -l71Mbignum=bpi pi-slice.pl
()()()()()()
|\3.1415926|
|:\53589793|
\::\2384626|
 \::\433832|
  \::\79502|
   \::\8841|
    \::\971|
     \::\69|
      \::\3|
       \__\|

পার্ল, 111 বাইট

$_=bpi$_*($l=($.=$_)-3);printf'()'x($./2)x!$`."
%$.s",F.ee x!$l--^substr"\32::\\$&|",-$.while/.{$l}/g

প্যারামিটারাইজড সংস্করণ। কমান্ড লাইন বিকল্পের প্রয়োজন -nMbignum=bpi, 12 হিসাবে গণনা করা।

নমুনা ব্যবহার

$ echo 10 | perl -nMbignum=bpi pi-slice.pl
()()()()()
|\3.14159|
|:\265358|
\::\97932|
 \::\3846|
  \::\264|
   \::\33|
    \::\8|
     \__\|

$ echo 20 | perl -nMbignum=bpi pi-slice.pl
()()()()()()()()()()
|\3.141592653589793|
|:\2384626433832795|
\::\028841971693993|
 \::\75105820974944|
  \::\5923078164062|
   \::\862089986280|
    \::\34825342117|
     \::\0679821480|
      \::\865132823|
       \::\06647093|
        \::\8446095|
         \::\505822|
          \::\31725|
           \::\3594|
            \::\081|
             \::\28|
              \::\4|
               \__\|

25

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

এটি কেবল প্লেইন পাঠ্য প্রদর্শনের চেয়ে 1 বাইট ছোট

for(y=n=0,s=`()()()()()()
`;y<10;y++,s+=`|
`)for(x=-2;x++<9;)s+=x>y?(Math.PI+'2384626433832795028841971693')[n++]:`\\${y>8?'__':x+1|y>2?'::':'||'}\\`[y-x]||' ';console.log(s)


1
এটি কনসোল.লগ ("") + 12 * 11 টি অক্ষর + 18 ব্যাকস্ল্যাশ + 10 লাইনব্রেকের চেয়ে এক বাইট ছোট?
তিতাস

@ টিটাস - আপনি ঠিক বলেছেন। আমি ব্যাকস্ল্যাশ পলায়ন গণনা করতে ভুলে গেছি। ধন্যবাদ!
আর্নৌল্ড

18
হালকা আকর্ষণীয়, তবে 2384626433832795028841971693 প্রধান হতে পারে।
উপাদান

1
@ এলিমেডব্লিউ - মজার যে আপনি এটি উল্লেখ করেছেন, কারণ আমি এটিও পরীক্ষা করে দেখেছি। :)
আর্নল্ড

নম্বরটি হেক্স হিসাবে লিখতে এবং এটিকে স্ট্রিংয়ে রূপান্তর করা কোনও বাইট সংরক্ষণ করবে?
নিক হার্টলি

17

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

print'()'*6+'\n|\\3.1415926|\n|:\\53589793|'
for n in 2384626,433832,79502,8841,971,69,3,'':print'%11s|'%('\%s'*2%('_:'[n<'']*2,n))

Sp3000 এবং লিনের মধ্যে যৌথ প্রচেষ্টা। কপার একটি বাইটও বাঁচিয়েছে! আইডিয়ন লিঙ্ক।


এটি মার্জিত +1
এলপিড্রো

আপনি forলুপের বন্ধনীগুলি সরিয়ে 1 বাইট সংরক্ষণ করতে সক্ষম হবেন ।
তামা

16

/// , 129 127 বাইট

/-/\\\\//&/--::--//%/  //#/|
%//!/()()/!!!
|-3.1415926|
|:-53589793|
&2384626|
 &433832#&79502# &8841#%&971#% &69#%%&3#%% -__-|

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


-2 বাইট যদি তুমি করো /!/()()/!!!পরিবর্তে ()()()()()()এবং প্রতিস্থাপন /#/|\n%%/সঙ্গে /#/|\n%/এবং এটি যে সঙ্গে কাজ করতে কোডের বাকি সমন্বয়।
অ্যাক্রোলিথ

@ দাগ হাগলেনি ওহ ধন্যবাদ, আমি জানি না যে প্রতিস্থাপনের জন্য 4 * 3 একটি বৈধ প্রার্থী ছিল। আপনার দ্বিতীয় পরামর্শের জন্য, আমি মনে করি এটি আরও দীর্ঘ হবে।
এরিক আউটগল্ফার

@da হাগলেনি ny আমি নিশ্চিত করতে পারি যে আপনার দ্বিতীয় পরামর্শটি আসলেই দীর্ঘ।
এরিক দি আউটগল্ফার


পছন্দ করুন এছাড়া আরও কিছু মুখ আছে: -:, :-, :-এবং -__-
এরিক আউটগলফার

12

বাশ, 153 বাইট

cat << _
()()()()()()
|\3.1415926|
|:\53589793|
\::\2384626|
 \::\433832|
  \::\79502|
   \::\8841|
    \::\971|
     \::\69|
      \::\3|
       \__\|
_

9
অন্যান্য উত্তরগুলির মধ্যে কতটি আক্ষরিক পাই প্রিন্ট করার চেয়ে বেশি সময় কোডের উৎপাদনের ফাঁদে পড়ে , আমি মনে করি এটি সত্যই একটি স্মার্ট উত্তর। এছাড়াও, এটি আমার গণনা অনুসারে কেবল 153 বাইট।
লিন

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

আপনি এর আগে এবং পরে শূণ্যস্থানগুলি সরাতে পারেন <<। এবং আপনার বাইটোকন্ট 153 বাইটের।
টুফস ক্র্যাফটিং

1
নন echo '()()()()()()...\__\|'4 বাইট খাটো?
নীল

@ লিন আমি খুশি যে আমার এই সমস্যাটি ছিল না; পাইটি কেবল মুদ্রণের জন্য ব্যাচকে 100 বাইট ওভারহেড প্রয়োজন।
নীল

9

ব্যাচ, 195 বাইট

@echo ()()()()()()
@echo ^|\3.1415926^|
@echo ^|:\53589793^|
@set i=\
@for %%d in (2384626 433832 79502 8841 971 69 3)do @call:l %%d
@echo %i%__\^|
@exit/b
:l
@set i= %i%
@echo%i%::\%1^|

5

টার্টলিড , 135 129 বাইট (প্রতিযোগিতা নয়)

( দোভাষা আসলেই কিছুটা বাগড্ড নয় (আর:])) তবে এটি এই প্রোগ্রামকে প্রভাবিত করে না )

আমার প্রোগ্রামটির পুনর্গঠন এবং পুনরায় লেখার মাধ্যমে আমি গল্ফ দিয়েছি ... ছয় বাইট

এবং এখন আমাকে নতুন ব্যাখ্যা দিতে হবে ...

তবুও ছোট প্রবস হতে পারে


কমপক্ষে এই ল্যাংয়ের সেরা সমাধানটি কেবলমাত্র কাঁচা ডেটা ¯ \ _ (ツ) _ / in তে লেখা নয় ¯


#3.141592653589793238462643383279502884197169#")()()()()()">10:[)'|l]:[)d'\l]d"(||"2uuu[|;"::"uuu];>"__"[|r'\d]dl[ l[|.+l][\r]ul]

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

ব্যাখ্যা

সত্যিই, এটি প্রকৃত প্রোগ্রামটি খুব ভালভাবে বর্ণনা করে না, তবে এটি আদেশগুলি সম্পর্কে ইঙ্গিত দেয়, যাতে আপনি আরও ভালভাবে বুঝতে পারেন

#3.141592653589793238462643383279502884197169# Some pi. Set the string to thing between #s
                                               the last digit was same as first, and the
                                               string wraps, so digit could be removed
")()()()()()"  Write this string, by writing char 1 to current cell, moving right, char 2...

>              turn right

10             set register to ten

:[)'|l]:       move right by amount in register, while current cell isn't ), write |
               and move left. move right by amount in register

[)d'\l]        while cell is not (, move down, write \, move left

d"(||"         move down and string-write "(||"

2              set register to 2

uuu[|;"::"uuu] Move up three, and while the cell is not |, move down by
               register (2), string-write "::", move up three

               Just remember the turtle is currently pointing right, so up is right.

;>"__"         move down by amount in register, turn right, string-write "__"

[|r'\d]dl      while cell is not |{ move right, write \, move down}, move down, left

সম্পূর্ণ জিনিস: প্রয়োজনীয় লুপস

[ l[|.+l][\r]ul]

বর্তমান কক্ষটি স্থান নয় {বাম দিকে সরানো অবস্থায়, লুপটি কার্যকর করুন: (সেলটি নয় | স্ট্রিং ভেরিয়েবলের বর্তমান লেখ লিখুন (মনে রাখবেন পাই?), ইনক্রিমেন্ট স্ট্রিং পয়েন্টার, বাম দিকে সরানো), লুপটি কার্যকর করুন: (সেলটি যখন \, ডানদিকে সরান), উপরে সরান, বাম}


অ-প্রতিযোগিতা কেন?
programmer5000

প্রতিযোগিতা না করার অর্থ এটি চ্যালেঞ্জের চেয়ে নতুন
ধ্বংসাত্মক লেবু

5

ফুরিয়ার, 196 190 বাইট

নতুন বৈশিষ্ট্য সতর্কতা!

কোড

|SaCaaSa|f|~Y0~jY(32aj^~j)|w6(40a41ai^~i)10a~N124a~W92a~S3o46a1415926oWaNaWa58a~CSa53589793oWaNaf2384626oWaNa1wf433832oWaNa2wf79502oWaNa3wf8841oWaNa4wf971oWaNa5wf69oWaNa6wf3oWaNa7wSa95aaSaWa

ব্যাখ্যা

এই প্রোগ্রামটি ফুরিয়ারে আমার প্রথম কার্য সম্পাদন:

কার্যগুলি যেমন সংজ্ঞায়িত করা হয়:

|code goes here|f

প্রথম পাইপ ফাংশন ঘোষণা শুরু করে। আপনি তারপরে পাইপগুলির মধ্যে কোডটি রেখে দিন। শেষ পাইপ ফাংশন ঘোষণা শেষ করে। অবশেষে, fভেরিয়েবলটি যেখানে ফাংশনটি সংরক্ষণ করা হয়। এটি কোনও অক্ষর হতে পারে, যতক্ষণ না এটি কোনও সংরক্ষিত ফাংশন নয়।

উদাহরণস্বরূপ, আমার কোডে, ফাংশনগুলির মধ্যে একটি হ'ল:

|SaCaaSa|f

যেখানে ভেরিয়েবল S92 নম্বর এবং C58 নম্বর সঞ্চয় করে।

যখন ডাকা হয়, ফাংশনটি নিম্নলিখিতগুলি দেয়:

\::\

যেহেতু পাইতে এটি সবচেয়ে বারবার জিনিস।

একইভাবে, আউটপুট গল্ফ করতে, আমি একটি লুপ ব্যবহার করেছি:

6(40a41ai^~i)

যা কোডটি the 40a41aবার পুনরাবৃত্তি করে । 40a41aনিজস্ব ফলাফল:

()

সুতরাং ছয়বার আউটপুট কোড পুনরাবৃত্তি:

()()()()()()

এর মাধ্যমে পাইয়ের ক্রাস্ট আউটপুট করা।

ফোরাইডে চেষ্টা করে দেখুন!

যেহেতু আমি পাইথন ইন্টারপ্রেটারে ফাংশনগুলি প্রয়োগ করি নি, এই প্রোগ্রামটি http://tryitonline.net এ কাজ করবে না


4

পাইথ, 89 বাইট

J_2K+.n0."09\07´\C2\84J\01£\07Nl:?í"*"()"6Vr9Zp*dJp?!Z\|?qZ9"|:""\::"p\\p:KZ+ZN\|=+ZN=hJ)p*dJ"\__\|"

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

\xxআপনি যদি এই উত্তর থেকে কোড অনুলিপি / আটকান তবে সংশ্লিষ্ট এএসসিআইআই অক্ষরের সাথে (হেক্সাডেসিমাল) প্রতিস্থাপন করুন ; এতে প্যাকযুক্ত স্ট্রিংয়ে অপ্রিন্টযোগ্য অক্ষর রয়েছে যা এসই ফিল্টার আউট করে।

ব্যাখ্যা

J_2        Sets J to -2
  .n0      Pi; returns 3.141592653589793
  ."(...)" Packed string; returns "2384626433832795028841971693"
 +         Concatenation; returns "3.1415926535897932384626433832795028841971693"
K          Sets K to that string
*"()"6     Repetition; returns "()()()()()()", which is implicitly printed with a newline
 r9Z       Range; returns [9, 8, 7, 6, 5, 4, 3, 2, 1] (Z is initialized to 0)
V          Loop through r9Z, using N as the loop variable
  *dJ      Repetition; d is initialized to " " (returns an empty string if J <= 0)
 p         Print without a newline
  ?!Z      Ternary; if not Z
   \|      then return "|"
   ?qZ9    else, ternary; if Z == 9
    "|:"   then return "|:"
    "\::"  else, return "\::"
 p         Print without a newline
  \\       One-character string; returns "\"
 p         Print without a newline
  :KZ+ZN   Slice; returns K[Z:Z+N], not including K[Z+N]
 p         Print without a newline
 \|        One-character string; returns "|", which is implicitly printed with a newline.
 =+ZN      Adds N to Z
 =hJ       Increments J by 1
)          Ends loop
 *dJ       Repetition; d is initialized to " "
p          Print without a newline
"\__\|"    Returns "\__\|", which is implicitly printed with a newline

4

জেলি , 83 বাইট

অবশ্যই এখনও বেশ গল্ফাবালে

7Ḷ⁶ẋ;€“\::\”“|:\”ṭṙ7
⁾()ẋ6⁷⁾|\8ØPæp”|⁷8RUR€µ“⁾ḅ|Za"~ṅỵþȷ^ṇ⁷Ċ’Dṁ;€”|ż@¢Y⁷ø⁶ẋ7“\__\|”

TryItOnline

কিভাবে?

7Ḷ⁶ẋ;€“\::\”“|:\”ṭṙ7 - Link 1, left side padding and filling
7Ḷ                   - lowered range of 7 ([0,1,2,3,4,5,6])
      “\::\”         - filling ("\::\")
  ⁶ẋ;€               - space character repeated that many times and concatenate for each
            “|:\”    - top crust edge filling ("|:\")
                 ṭ   - tack (append to the end)
                  ṙ7 - rotate to the left by 7 (move top crust filling to the top)

⁾()ẋ6⁷⁾|\8ØPæp”|⁷8RUR€µ - Main Link (divided into two for formatting)
⁾()ẋ6⁷                  - "()" repeated 6 times and a line feed
      ⁾|\               - "|\"
          ØP            - pi
         8  æp          - round to 8 significant figures (top edge of the glaze)
              ”|⁷       - "|" and a line feed
                 8R     - range of 8 ([1,2,3,4,5,6,7,8])
                   U    - reverse ([8,7,6,5,4,3,2,1])
                    R€  - range for each ([[1,2,..8],[1,2,..7],...,[1,2],[1]])
                      µ - monadic chain separation

“⁾ḅ|Za"~ṅỵþȷ^ṇ⁷Ċ’Dṁ;€”|ż@¢Y⁷ø⁶ẋ7“\__\|” - Main link (continued)
“⁾ḅ|Za"~ṅỵþȷ^ṇ⁷Ċ’                       - base 250 representation of the rest of the digits
                 D                      - decimalise (makes it a list)
                  ṁ                     - mould (into the shape of the array formed above)
                     ”|                 - "|"
                   ;€                   - concatenate for each
                         ¢              - call last link (1) as a nilad
                       ż@               - zip (with reversed operands)
                          Y⁷            - join with line feeds, and another line feed
                            ø           - niladic chain separation
                             ⁶ẋ7        - space character repeated 7 times
                                “\__\|” - "\__\|" the very bottom of the pie wedge

2
বাহ, এটি আমি দীর্ঘতম জেলি প্রোগ্রামটি দেখেছি: ও
বিটা ডিকায়

@ বেটাডেকে কোনও সন্দেহ নেই যে এটি 11 বাইটে করা যেতে পারে ...
জোনাথন অ্যালান

3

পাইথন 2, 193 176 বাইট

P="3.1415926 53589793 2384626 433832 79502 8841 971 69 3".split()
f="()"*6+"\n|\%s|\n|:\%s|\n"%(P[0],P[1])
for s in range(7):f+=" "*s+"\::\\"+P[s+2]+"|\n"
print f+" "*7+"\__\|"

বা একটি সংক্ষিপ্ত, আরও বিরক্তিকর উত্তর:

print r"""()()()()()()
|\3.1415926|
|:\53589793|
\::\2384626|
 \::\433832|
  \::\79502|
   \::\8841|
    \::\971|
     \::\69|
      \::\3|
       \__\|"""

3
আপনি কি print r'''(the pie)'''38 বাইট কম সংক্ষিপ্ত জানেন? :)
লিন

আপনার দ্বিতীয় প্রয়াসের জন্য +1 কিন্তু একক উদ্ধৃতি ব্যবহার করা এটিকে দেখার জন্য সংক্ষিপ্ত করে তোলে। পিক্সেল গণনা আরও ভাল :)
এলপেড্রো

3

সি # 220 213 209 208 202 201 (171 *) বাইটস

* আমি এটিকে অনিয়মিত এবং প্রতারণামূলক বলে মনে করি

void F()=>Console.Write(@"()()()()()()
|\3.1415926|
|:\53589793|
\::\2384626|
 \::\433832|
  \::\79502|
   \::\8841|
    \::\971|
     \::\69|
      \::\3|
       \__\|");

201 বাইট:

void f(){var s="()()()()()()\n";for(int i=0;i<9;)s+=(i<1?"|":i<2?"|:":"\\::".PadLeft(i+1))+$"\\{new[]{3.1415926,53589793,2384626,433832,79502,8841,971,69,3}[i++]}|\n";Console.Write(s+@"       \__\|");}

220 বাইট:

আমি নিশ্চিত যে এখানে গল্ফ করার কিছু আছে

void f(){string s="()()()()()()\n",x="       ";for(int i=9,j=0;i>0;j+=i--)s+=(i>7?"|"+(i<9?":":"")+"\\":x.Substring(i)+@"\::\")+$"{Math.PI}32384626433832795028841971693".Substring(j,i)+"|\n";Console.Write(s+x+@"\__\|");}

উত্তরের জন্য ধন্যবাদ! অতিরিক্ত স্থান সরিয়ে আপনি কমপক্ষে একটি বাইট সংরক্ষণ করতে পারেন .Substring(j, i)
তামা

এটি ভিএস-এ স্বয়ংক্রিয়-বিন্যাসকরণ থেকে একটি পর্যবেক্ষণ ছিল, তবে আমি কোনও
গুচ্ছটিকে অন্যভাবেই বাঁচিয়েছি

পাই ভার্ব্যাটিমটি ফেরত দেওয়া একটি বেনামি ফাংশন> 25% খাটো: ()=>@"(pie)"149 বাইট হয়
লিন

এটি বিরক্তিকর এবং প্রতারণার মতো অনুভব করে। নিয়মগুলি মুদ্রণ করতে বলেছে, ফিরে আসবে না
গোলাপিফ্লোয়েডএক্স 33

@ পিঙ্কফ্লয়েডএক্স 33 মুদ্রণ এবং ফিরে আসা উভয়ই সম্প্রদায়ের sensকমত্য অনুসারে ডিফল্টরূপে অনুমোদিত ।
mbomb007

3

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

'()'*6
'|\3.1415926|
|:\53589793|'
2384626,433832,79502,8841,971,69,3|%{" "*$i+++"\::\$_|"}
' '*7+'\__\|'

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

নিশ্চিত নয় যে কীভাবে আমি কখনই এই চ্যালেঞ্জটির জবাব দেব না ... আমি এটি এবং অন্যান্য বেশ কয়েকটি উত্তরকে উজ্জীবিত করেছি। কখনও বেশী ভালো দেরী, ওহ ভাল?

এটি পাইপলাইনে স্ট্রিং হিসাবে ছয় ভারসাম্য পেরেনকে রাখে, তারপরে পরবর্তী দুটি সারিটির একটি আক্ষরিক স্ট্রিং (দুটি বাইট সংরক্ষণ করে) রাখে। তারপরে, আমরা বাকী সংখ্যার মধ্য দিয়ে লুপ করব, প্রতিটি পুনরাবৃত্তি প্রিপেন্ড করা স্পেসগুলির সংখ্যা বাড়িয়ে ( $i) দিয়ে সংক্ষেপিত \::<number>|। অবশেষে, আমরা পাই এর ডগা একটি স্ট্রিং তৈরি। এই স্ট্রিংগুলি সমস্ত পাইপলাইনে রেখে গেছে এবং একটি অন্তর্নিহিত Write-Outputকাঠামোর মধ্যে একটি নতুন লাইন থাকে।

এটি কেবল পাই মুদ্রণের চেয়ে 39 বাইট কম sh


3

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

×⁶()↙↓¹⁰↖↖¹⁰↓↓²↘⁸M↑__↖←¤:↗¤UGPi

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

আপনি ভাবতে পারেন: এই জাদু কি? আপনি কিভাবে পূরণ করতে পারেন UGPi? ভাল, চারকোল ওল্ফ্রাম ভাষার সহায়তা পেতে শুরু করেছে, এই আশায় যে একদিন এটি আরও চ্যালেঞ্জের মধ্যে প্রতিযোগিতামূলক হতে পারে!

পূর্ববর্তী, 71 বাইট

×⁶()↙↓¹⁰↖↖¹⁰↓↓²↘⁸M↑__↖←¤:↗¤3.141592653589793238462643383279502884197169

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

বাগাড়ম্বরপূর্ণ

Print(Multiply(6, "()"));
Move(:DownLeft)
Print(:Down, 10)
Move(:UpLeft)
Print(:UpLeft, 10)
Move(:Down)
Print(:Down, 2)
Print(:DownRight, 8)
Move(:Up)
Print("__")
Move(:UpLeft)
Move(:Left)
Fill(":")
Move(:UpRight)
Fill("3.141592653589793238462643383279502884197169")

নোট করুন যে ডের্বোবোসিফায়ার স্বয়ংক্রিয়ভাবে স্ট্রিংগুলি সংকুচিত করে এবং রিডানড্যান্ট কমান্ডগুলি সরিয়ে দেয় না বলে এটি আলাদা।

সংক্ষিপ্ত স্ট্রিং সহ, 52 বাইট

×⁶¦()↙↓¹⁰↖↖¹⁰↓↓²↘⁸↑__↖←¤:M↗¤”i¶∧²uτ¶R›    §Q´⌈#_⮌POÞ”

xxd আউটপুট

0000000: aab6 ba28 291f 14b1 b01c 1cb1 b014 14b2  ...()...........
0000010: 1eb8 125f 5f1c 11ef 3acd 1def 0469 0a01  ...__...:....i..
0000020: b275 f40a 52be 0999 9fa4 d1e0 1a23 5f86  .u..R........#_.
0000030: d04f de04                                .O..

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


2

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

পিএইচপি-তে কোনও আরব্রিটারি স্পষ্টতা পাই নেই? অনুলিপি করা অনুলিপি এবং পেস্টের চেয়ে অনেক বেশি জায়গা নেয়। এখানে শেষ সংখ্যাটি কেটে গেছে, গোল নয়; তবে bit৪ বিট পাইতে শেষ অঙ্কটি গোল হয়ে যায়।

for(;$i<11;)echo str_pad($i?["\\__\\","|\\","|:\\","\\::\\"][$i>9?0:min(3,$i)].[3.1415926,53589793,2384626,433832,79502,8841,971,69,3][$i-1]."|
":"
",13,$i++?" ":"()",0);

সাথে চালাও php -r '<code>'

অবিচ্ছিন্ন ব্রেকডাউন

for(;$i<11;)
    echo str_pad($i?
         ["\\__\\","|\\","|:\\","\\::\\"][$i>9?0:min(3,$i)]
        .[3.1415926,53589793,2384626,433832,79502,8841,971,69,3][$i-1]
        ."|\n"
    :"\n"
    ,13,$i++?" ":"()",0);

আউটপুটটি 1 স্থান হারিয়েছে (যা আপনি এটি 13দিয়ে পরিবর্তন করে ঠিক করতে পারেন 14)। এবং, কিছু উদ্ভট কারণে, আপনি শীর্ষে বন্ধ হওয়া বন্ধনী অনুপস্থিত। পরিবর্তন করা আউটপুট স্থির করে।
ইসমাইল মিগুয়েল

পিএইচপি উত্তরগুলির জন্য একটি <?phpট্যাগ প্রয়োজন , অন্যথায় তারা কেবল ধ্রুবক আউটপুট উত্পাদন করে। পিএইচপি হ্যালো, ওয়ার্ল্ড! আসলে এই উপর নির্ভর করে। যাইহোক, ধ্রুবক আউটপুট সম্পর্কে কথা বললে, একটি পিএইচপি উত্তর যেটিতে কেবল আক্ষরিক কেক থাকে এবং কোনও <?phpট্যাগই আপনাকে বড় ব্যবধানে পরাজিত করতে পারে না ...
লিন

@ লিন: পিএইচপি <?phpযখন আপনি এটি চালনা করেন তখন ট্যাগের দরকার হয় না -r
তিতাস

2

পাইথন 2, 183 171 বাইট

p,d=[2384626,433832,79502,8841,971,69,3],"|\n"
c=("()"*6)+d[1]+"|\\"+`3.1415926`+d+"|:\\"+`53589793`+d
for x in range(7):c+=" "*x+"\\::\\"+`p[x]`+d
print c+" "*7+"\\__\\|"

আসলেই কিছু চালাক করে না। কেবল একটি বড় স্ট্রিং তৈরি করে তা মুদ্রণ করে।

সম্পাদনা

@ লিনের উত্তর এবং শেখার পরে 171 এ কম হয়েছে to দুঃখিত (যদি আপনি নির্লজ্জভাবে) এটি প্রস্তাব না দিয়ে আপনার কাছ থেকে কিছু বাইট চুরি করা ভুল হয়। দয়া করে আমাকে বলুন এবং আমি পরিবর্তনটি আবার রোল করব।

আউটপুট

python pi.pie.py

()()()()()()
|\3.1415926|
|:\53589793|
\::\2384626|
 \::\433832|
  \::\79502|
   \::\8841|
    \::\971|
     \::\69|
      \::\3|
       \__\|

আপনি কি জানেন যে print r'''(the pie)'''28 বাইট কম? :)
লিন

@ লিন এটা কি প্রতারণা করছে না? ;-)
এলপেড্রো

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

আমি আপনার মন্তব্যগুলি @ পিটার বোর্ডে নিয়েছি। আমি অনাদর করার চেষ্টা করছিলাম না তাই হাসিখুশি। যে কেউ এএসসিআইআই আর্ট চ্যালেঞ্জটির প্রিন্ট আউট করতে পারেন। আমি এটিতে বেশ নতুন এবং শিখতে এখানে এসেছি। লিনের জবাব সম্পর্কে আমি যদি কোনও মন্তব্য এবং একটি +1 দিয়েছিলাম তার অর্থ যদি আমি দেখি যে এটি কেবল একটি মুদ্রণ বিবৃতি নয়, তবে এই সমস্যাটিকে এমনভাবে সম্বোধন করেছে যা আমার প্রচেষ্টাকে পুরোপুরি ছড়িয়ে দিয়েছে। আমি শিখেছি ...
এলপেড্রো

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

2

রুবি, 140 138 137 বাইট

রুবিতে আমার এই সমস্যার সমাধান, এটি আমার প্রথম কোড গল্ফ উত্তর: ডি

[0,2384626,433832,79502,8841,971,69,3,1].map{|n|puts n<1?"()"*6+"\n|\\3.1415926|\n|:\\53589793|":"\\#{n>1?"::\\#{n}":"__\\"}|".rjust(12)}

পাঠযোগ্য সংস্করণ এবং ব্যাখ্যা:

for n in [-1,2384626,433832,79502,8841,971,69,3,0]
  if n < 0 # n == -1
    puts "()"*6+"\n|\\3.1415926|\n|:\\53589793|"
  else
    if n > 0 # digits of pi
      puts "\\::\\#{n}|".rjust(12)
    else # edge of pie
      puts "\\__\\|".rjust(12) 
    end
  end
end

আসলেই কিছু চালাক নয়, কিছু সাধারণ লুপ ব্যবহার করে :)

আউটপুট:

()()()()()()
|\3.1415926|
|:\53589793|
\::\2384626|
 \::\433832|
  \::\79502|
   \::\8841|
    \::\971|
     \::\69|
      \::\3|
       \__\|

2
পিপিসিজিতে আপনাকে স্বাগতম! প্রথম প্রথম পোস্ট!
Rɪᴋᴇʀ

2

স্ট্যাক্স , 63 বাইট

ü?½Pi<Θ*q}ü¿▒5Ç>cdƒ±<Gw►,─ô╟▒g•iâÑ♠514Φ⌂!Ñεùáèè♂ÑD╔«dÿ47¡ô#UV•╧

চালান এবং অনলাইন ডিবাগ!

গৃহীত এমএটিএল উত্তরের চেয়ে কম স্টেক্সের ধ্রুবক পাই হিসাবে আরও অঙ্কগুলি সংরক্ষণ করা থাকলে এটি অবশ্যই সংক্ষিপ্ত হবে।

(কোডটিতে এটি কী Pi<0?)

ব্যাখ্যা

ব্যাখ্যা করার মতো এএসসিআইআই সমতুল্য ব্যবহার করে, যা is

.()6*PVP$2ME.|\a+"|:\"a+"!RNyb2L$-!mV=223w+&O-"!{"\::\"s$+mELr"\__\"]+|>m'|+

Expalantion:

.()6*PVP$2ME.|\a+"|:\"a+
.()                           "()"
   6*P                        Print 6 times
      VP$                     First two lines of pi in the output
         2ME                  Push the two lines separately on the stack
            .|\a+             Prepend the first line with "|\"
                 "|:\"a+      Prepend the second line with "|:\"

"..."!{"\::\"s$+mELr"\__\"]+|>m'|+
"..."!                                [2384626,433832,79502,8841,971,69,3]
      {"\::\"s$+m                     Convert each element to a string and prepend "\::\"
                 ELr                  Prepend the first two lines to array
                    "\__\"]+          Append "\__\" to the converted array
                            |>        Right align text
                              m'|+    Append "|" to each array element and print

1

জাভা 7, 260 236 191 বাইট

String d(){return"()()()()()()\n|\\3.1415926|\n|:\\53589793|\n\\::\\2384626|\n \\::\\433832|\n  \\::\\79502|\n   \\::\\8841|\n    \\::\\971|\n     \\::\\69|\n      \\::\\3|\n       \\__\\|";}

দীর্ঘশ্বাস ফেলুন, কেবল পাই আউটপুট করা ছোট, এমনকি সমস্ত পালিয়ে যাওয়া ব্যাকস্ল্যাশ সহ ..>>>
এখানে সামান্য সামান্য ব্যয়ের সাথে পূর্ববর্তী উত্তর দেওয়া হয়েছে, যদিও এখনও খুব জেনেরিক বা অভিনব ( 236 বাইট ) নেই:

String c(){String n="\n",p="|",q=p+n,x="\\::\\",s=" ",z=s;return"()()()()()()"+n+p+"\\"+3.1415926+q+p+":\\53589793"+q+x+2384626+q+s+x+433832+q+(z+=s)+x+79502+q+(z+=s)+x+8841+q+(z+=s)+x+971+q+(z+=s)+x+69+q+(z+=s)+x+3+q+(z+=s)+"\\__\\|";}

একটি খুব বিরক্তিকর উত্তর, যেহেতু খুব বেশি অভিনব জিনিস ছাড়াই কেবল ফলাফল আউটপুট করা জাভাতে জেনেরিক পদ্ধতির চেয়ে কম is

অবরুদ্ধ এবং পরীক্ষার কোড:

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

class M{
  static String c(){
    String n = "\n",
           p = "|",
           q = p + n,
           x = "\\::\\",
           s = " ",
           z = s;
    return "()()()()()()" + n + p + "\\" + 3.1415926 + q + p + ":\\53589793" + q + x + 2384626 + q + s
            + x + 433832 + q + (z += s) + x + 79502 + q + (z += s) + x + 8841 + q 
            + (z += s) + x + 971 + q + (z += s) + x + 69 + q + (z += s) + x + 3 + q
            + (z += s) + "\\__\\|";
  }

  public static void main(String[] a){
    System.out.println(c());
  }
}

আউটপুট:

()()()()()()
|\3.1415926|
|:\53589793|
\::\2384626|
 \::\433832|
  \::\79502|
   \::\8841|
    \::\971|
     \::\69|
      \::\3|
       \__\|

1

কিবাসিক, 175 বাইট

?"()()()()()()":?"|\3.1415926|":?"|:\53589793|":?"\::\2384626|":?" \::\433832|":?"  \::\79502|":?"   \::\8841|":?"    \::\971|":?"     \::\69|":?"      \::\3|":?"       \__\|"

1

লুয়া, 152 বাইট

print[[()()()()()()
|\3.1415926|
|:\53589793|
\::\2384626|
 \::\433832|
  \::\79502|
   \::\8841|
    \::\971|
     \::\69|
      \::\3|
       \__\|]]

আমি এই পাইটি সঙ্কুচিত করতে না পারার চেষ্টা করুন Try

লুয়া এটি করার জন্য খুব ভার্জোজ, সম্ভবত এটি বৃহত্তর আকারের পাই, তবে এটি নয়।

আরেকটি সমাধান, 186 বাইট।

s="()()()()()()\n|\\3.1415926|\n|:\\53589793|\n"i=0 for z in('2384626|433832|79502|8841|971|69|3|'):gmatch'.-|'do s=s..(' '):rep(i)..'\\::\\'..z.."\n"i=i+1 end print(s..'       \\__\\|')

বিরক্তিকরভাবে লুয়ার পাই এমনকি পাই পূরণের পক্ষে যথেষ্ট সঠিক নয়। :(


1

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

চালানোর জন্য আপনার কনসোলটিতে আটকান।

for(y=n=0,s=`()()()()()()
`;y<10;y++,s+=`|
`)for(x=-2;x++<9;)s+=x>y(Math.PI+'2384626433832795028841971693'[n++]:`\\${y>8?'__':x+1|y>1?'::':'||'}\\`[y-x]||' ';console.log(s)

পিপিসিজিতে আপনাকে স্বাগতম! ঠিক তেমনই আপনি জানেন, আপনি চার কোড দিয়ে নিজের কোডটি ফর্ম্যাট করতে পারেন (আমার সম্পাদনা দেখুন)। এছাড়াও, আপনার প্রোগ্রামের বাইটের পরিমাণ আপনার উত্তরের শীর্ষে রাখুন (যেমন Javascript: 100 bytes)।
কিউয়ার্প-ডের্প

অদ্ভুত বাক্য গঠন ত্রুটি বলে মনে হচ্ছে, আপনি কি সেগুলি ঠিক করতে পারেন?
programmer5000

1

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

এটি কিছুটা "প্রতারণিত", যেহেতু যদি কনসোলে চালানো হয় তবে ফেরতের মানটি প্রদর্শিত হবে

v=0;("()()()()()()\n|9|:87654321".replace(/\d/g,(o)=>"\\"+(Math.PI+'2384626433832795028841971693').substr(v,o,v-=-o)+"|\n"+(o<9?" ".repeat(8-o)+(o>1?"\\::":"\\__\\|"):""))

কিছু টিচিংয়ের পরে, ফাংশনটি দেখতে এটির মতো লাগে (ফাংশনটি অবশ্যই 0 মানের সাথে প্যারামিটারের সাথে কল করা উচিত):

v=>`()()()()()()
 |9 |:87654321\\__\\|`.replace(/\d/g,o=>`\\${(Math.PI+"2384626433832795028841971693").substr(v,o,v-=-o)}|
${" ".repeat(9-o)+(o<9&o>1?"\\::":"")}`)

আপনি যদি ফাংশনটিতে কল করতে চান 167 বাইট:

z=v=>`()()()()()()
 |9 |:87654321\\__\\|`.replace(/\d/g,o=>`\\${(Math.PI+"2384626433832795028841971693").substr(v,o,v-=-o)}|
${" ".repeat(9-o)+(o<9&o>1?"\\::":"")}`)


/*could be run like this or directly in the console*/
console.info("\n"+z(0));


1: অতিরিক্ত ক্লোজিং পেরেন দরকার। 2: প্রতিস্থাপন "|\n"সঙ্গে |<newline>যেখানে <newline>একটি আক্ষরিক সম্পর্কে newline হয়। 3: y=>শুরুতে যুক্ত করুন এবং এটি প্রতারণামূলক হবে না। 4: সাইটে আপনাকে স্বাগতম!
প্রোগ্রামার

1
@ প্রোগ্রামার ৫০০০ আপনার ইনপুটটির জন্য ধন্যবাদ, আমি এটি আমার সর্বশেষ ত্বকে ব্যবহার করেছি। :-D
বিজয়ী_জয়নার

প্যারামিটারটি ()বন্ধ করে 2 বাইট সংরক্ষণ করুন v। আপনার আউটপুটটিতে ২ য় এবং তৃতীয় লাইনের সামনে একটি অতিরিক্ত জায়গা রয়েছে বলে মনে হচ্ছে। এছাড়াও, আপনার পক্ষে 0যুক্তি হিসাবে পাস করার দরকার নেই , আপনার ফাংশনটি এটি ব্যতিরেকে কার্যকর হবে এবং এটি চ্যালেঞ্জের দ্বারা অনুমোদিতও নয়।
শেগি

হ্যাঁ আপনাকে ধন্যবাদ, আমার আগে ডিফল্ট মান ছিল। :-D
বিজয়ী_জয়নার

0

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

স্নিগ্ধ-স্নিগ্ধ :) phpকেবল কোনও পিএইচপি কোড হিসাবে ব্যাখ্যা করার চেষ্টা না করে সবকিছু মুদ্রণ করে যদি এটি কোনও জুড়ি না দেখায় <?php ?>

()()()()()()
|\3.1415926|
|:\53589793|
\::\2384626|
 \::\433832|
  \::\79502|
   \::\8841|
    \::\971|
     \::\69|
      \::\3|
       \__\|
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.