আলফা-সংখ্যাগত বোটি


14

এই সঠিক পাঠ্য আউটপুট:

1                i
12              hi
123            ghi
1234          fghi
12345        efghi
123456      defghi
1234567    cdefghi
12345678  bcdefghi
123456789abcdefghi
12345678  bcdefghi
1234567    cdefghi
123456      defghi
12345        efghi
1234          fghi
123            ghi
12              hi
1                i

একটি একক পেছনের নতুন লাইন গ্রহণযোগ্য, তবে অন্য কোনও ফর্ম্যাটিং পরিবর্তনের অনুমতি নেই।

বিধি এবং I / O

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

1
পরিবর্তে আমরা কি বড় হাতের বর্ণমালা ব্যবহার করতে পারি?
ব্যবহারকারী 41805

3
পছন্দ করুন এটি এই সঠিক পাঠ্য আউটপুট বলে ।
ডেনিস

@ চত্বর নোপ - ছোট হাতের আবশ্যক।
অ্যাডমবর্কবার্ক

উত্তর:


13

সি, 87 85 81 80 বাইট

j;main(i){for(;++i<19;)for(j=19;j--;)putchar(j?j<i^j<20-i?32:106-j-j/10*39:10);}

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

ব্যাখ্যা

j; // same as int j;
main(i){ // same as int main(int i){, where i = argc (1 with no arguments)
  for(;++i<19;) // loop over rows, i = 2..18
    for(j=19;j--;) // loop over chars, j = 19..0
      putchar(j?j<i^j<20-i?32:106-j-j/10*39:10); // output characters:
      //      j?                           :10 // on last char (j=0), output \n
      //        j<i                            // check for top/left half
      //            j<20-i                     // check for bottom/left half
      //           ^                           // 1 if only one half matched
      //                  ?32:                 // if so, output space
      //                      106              // char code for j
      //                         -j            // get desired letter
      //                           -j/10*39    // subtract 39 for j>9 (numbers)
}

আমি অবাক ^এর চেয়ে কম অগ্রাধিকার পেয়েছি <… কি সুন্দর উত্তর!
লিন

@ লিন সি তে বিটওয়াইস অপারেটর (এবং এমনকি জাভা / জেএস এবং এ জাতীয়) সকলের তুলনার তুলনায় কম অগ্রাধিকার রয়েছে। কোড গল্ফ এবং ত্রুটির সত্যই সুন্দর উত্সের জন্য এটি উভয়ই দুর্দান্ত (চিন্তা করুন if (x & 2 == 0), যা সর্বদা 0
এটির


6

আর , 64 বাইট

for(i in abs(8:-8))cat(intToUtf8(c(57-8:i,32*!!-i:i,97+i:8,13)))

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

  • -3 বাইটস @ জিউজ্পে ধন্যবাদ
  • -5 বাইটস @ জে.ডোকে ধন্যবাদ


catএক বাইট জন্য?
জয়সি

2
আপনার জিওজেপ্পের শর্টকাটটি ব্যবহার করে আপনার সলিউশনে 64৪ বাইট বিল্ডিং করা হয়েছে যা এর পরিবর্তিত repবৈশিষ্ট্যের জন্য একটিকে পরিণত হয় । intToUtf80""
জে.ডো

@ জে.ডো দুর্দান্ত কৌশল!
জয়সি

@ জে.ডো: দুর্দান্ত, ধন্যবাদ!

5

16 বাইট পরিবর্তন করে žh¦A9£«S9Lথেকে 9L©A9£S«®(অথবা 9LA9£S«9Lঅথবা 9LDA9£S«s)।
কেভিন ক্রুইজসেন


3

কিউ বেসিক, 72 বাইট

টেলর স্কট জমা দেওয়ার উপর ভিত্তি করে ।

FOR y=-8TO 8
z=ABS(y)
?"123456789abcdefghi";
LOCATE,10-z
?SPC(2*z)"
NEXT

প্রাথমিক ব্যাখ্যা

প্রতিটি লাইনে, আমরা পুরো স্ট্রিংটি মুদ্রণ করি 123456789abcdefghi। তারপরে আমরা ফিরে যাই এবং এর কিছু অংশ ফাঁকা জায়গা দিয়ে ওভাররাইট করি।

সম্পূর্ণ ব্যাখ্যা

কোড সহ কিছুটা দারোয়ান:

FOR y = -8 TO 8           ' Loop for 17 rows
 z = ABS(y)               ' z runs from 8 to 0 and back to 8
 ? "123456789abcdefghi";  ' Print the full string and stay on the same line (important!)
 LOCATE , 10-z            ' Go back to column 10-z on that line
 ? SPC(2*z); ""           ' Print 2*z spaces
                          ' (SPC keeps the cursor on the same line unlesss you print
                          ' something after it, so we'll use the empty string)
NEXT                      ' Go to the next y value

এটি Locateকমান্ডটির সত্যই চালাক ব্যবহার
টেলর স্কট

2

টি-এসকিউএল, 108 বাইট

DECLARE @ INT=8a:
PRINT STUFF('123456789abcdefghi',10-abs(@),2*abs(@),SPACE(2*abs(@)))
SET @-=1IF @>-9GOTO a

রিটার্নগুলি কেবল পঠনযোগ্যতার জন্য।

সংখ্যা সারণী সহ প্রচুর অন্যান্য প্রকরণের চেষ্টা করা হয়েছে, এটি ছিল সবচেয়ে স্বল্পতম।



2

জাপট , 20 বাইট

9Æ9Ç>YÃê1 Ë?S:°EsH
ê

জাপট ইন্টারপ্রেটার

অক্ষরের অ্যারের অ্যারে হিসাবে আউটপুট। -Rপতাকা না প্রয়োজনীয় কাজ করতে, এটা ঠিক আউটপুট বর্ণন সুন্দর করে তোলে।

ব্যাখ্যা:

9Æ9Ç                    create a 9x9 2D array 
    >YÃ                 fill bottom left triangle with "false", upper right with "true"
       ê1               mirror horizontally
          Ë?S           replaces "true" with a space
             :°EsH      replaces "false" with the horizontal index + 1 converted to base 32
                  \n    Store the result in U (saves bytes by not closing braces)
                    ê   palindromize vertically

1

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

â4+╤jo♂▐▀3bkWíæß╝╖

এটি চালান এবং এটি ডিবাগ করুন

ব্যাখ্যা:

9R$|[|<Va17T|]r|>\|pm Full program
9R$                   Produce "123456789"
   |[|<               Left-aligned prefixes (["1        ", "12       ", ...])
       Va17T          Produce "abcdefghi"
            |]        Suffixes (["abcdefghi", "bcdefghi", ...])
              r|>     Reverse and left-align (["        i", "       hi", ...])
                 \    Zip both arrays (["1                i", "12              hi", ...])
                  |p  Palindromize array
                    m Map over array, printing each with a newline                        

1

এপিএল (ডায়ালগ ইউনিকোড) , 30 বাইট

(⊢⍪1↓⊖)(↑,\1↓⎕d),⌽↑,\⌽8199↑⎕a

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

ম্যাট্রিক্সে রূপান্তর করুন (স্পেস সহ অটো প্যাড)

  • ,\ উপসর্গ

  • 1↓ প্রথম উপাদান থেকে বাদ পড়ে

  • ⎕d এই স্ট্রিং '0123456789'

  • এটি ম্যাট্রিক্স অক্ষর দেয়

1        
12       
123      
1234     
12345    
123456   
1234567  
12345678 
123456789

, সঙ্গে জড়িত

  • বিপরীত

  • matrixified

  • ,\ উপসর্গ

  • বিপরীত

  • 819⌶ এবং নিম্নতর

  • 9↑ প্রথম 9 উপাদান

  • ⎕a এই স্ট্রিং 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

  • এটি ম্যাট্রিক্স অক্ষর দেয়

        আমি
       ওহে
      GHI
     fghi
    efghi
   defghi
  cdefghi
 bcdefghi
abcdefghi

এবং এই ফলাফল উপর

1 i
12 হাই
123 গি
1234 fghi
12345 এফঘি
123456 ডিফঘি
1234567 cdefghi
12345678 বিসিডিএফঘি
123456789abcdefghi

নিম্নলিখিত ট্রেন সঞ্চালন (⊢⍪1↓⊖)

সঠিক যুক্তি

সঙ্গে উল্লম্বভাবে সংক্ষিপ্ত

1↓ প্রথম সারিটি বাদ পড়ে (এটি মাঝারি সারিটির পুনরাবৃত্তি এড়ানো)

ডান যুক্তি উল্লম্বভাবে বিপরীত


অন্যান্য সমাধান

33 বাইট

(⊢⍪1↓⊖)(↑,\⍕¨q),⌽↑,\⎕ucs 106-q←⍳9

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

33 বাইট

(⊢⍪1↓⊖)(↑,\⍕¨q),⌽↑,\⌽ucs 96+q←⍳9

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


1

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

G↗↓←⁹β←G↖↓⁹⭆χι‖O↓

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

G↗↓←⁹β

নীচের ডান ত্রিভুজ আঁকুন এবং ছোট হাতের বর্ণমালা ব্যবহার করে এটি পূরণ করুন। (ফিলটি বর্ণমালা দিয়ে প্লেন টাইলিং এবং তার পরে টানা অঞ্চলটি অনুলিপি করার উপর ভিত্তি করে পূরণ করা হবে))

সংখ্যার ত্রিভুজ আঁকতে বাম দিকে সরান।

G↖↓⁹⭆χι

নীচের বাম ত্রিভুজ আঁকুন এবং অঙ্কগুলি ব্যবহার করে এটি পূরণ করুন। (যেহেতু ত্রিভুজটি উত্সের বাম দিকে আঁকা হয়েছে, তাই অঙ্কগুলি ডান-ন্যায়সঙ্গত নেওয়া হয়, তাই কেবল 1 থেকে 9 সংখ্যাগুলিই ব্যবহার করা যায়))

‖O↓

নীচের অর্ধেকটি সম্পূর্ণ করতে প্রতিফলিত করুন।


1

ভি , 25 , 21 বাইট

¬19¬ai8ñHÄ/á
r ge.YGp

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

Nmjcman101 এর জন্য 2-4 বাইট সংরক্ষণ করা হয়েছে!

Hexdump:

00000000: ac31 39ac 6169 38f1 48c4 2fe1 0a72 2067  .19.ai8.H./..r g
00000010: 652e 5947 70                             e.YGp

আমি জানি যে আমি যা করছি তা আজ আপনার উত্তরগুলি ফাঁস করে দিচ্ছে তবে আমি মনে করি এটি
nmjcman101

@ nmjcman101 যে কারণেই হোক না কেন, আমি বুঝতে পারি না যে সংস্করণটি কীভাবে কাজ করে। তবে আমি আরও ছোট একটি আবিষ্কার করেছি, তাই ধন্যবাদ!
জেমস

এটি একটি /\d*অনুসন্ধানের শেষে গিয়েছিল
nmjcman101

1

জে , 44 বাইট

(m]\u:49+i.9),.(m=.,}.@|.)]\&.(|."1)u:97+i.9

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

আমি ইনডেক্সিংয়ের জন্য 1 এবং শূন্যের মাস্কটি সংখ্যাগতভাবে উত্পন্ন করার চেষ্টা করেছি, তবে অতিরিক্ত সারি থেকে মুক্তি পাওয়ার ব্যয় বেশি এবং আমি ছেড়ে দিয়েছি:

   (9-.~i.18){0<:-/~(,|.)i.9
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1
1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1
1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1
1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1
1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1
1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1
1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1
1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1


1

জাপট, 24 বাইট

লাইনের একটি অ্যারে প্রদান করে

9Æ´AçXÄ
c¡A°îYd#a
Vù y ê

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


ব্যাখ্যা

9Æ            :Map each X in the range [0,9)
  ´A          :  Prefix decrement A (initially 10)
    ç         :  Repeat
     XÄ       :  X+1
\n            :Assign to variable U
 ¡            :Map each element at index Y in U
  A°          :  Postfix increment A
    î         :  Repeat
      d       :  The character at codepoint
     Y #a     :  Y+97
c             :Concatenate with U
\n            :Assign to variable V
Vù            :Left pad each element in V to the length of the longest element
   y          :Transpose
     ê        :Palindromise

বিকল্প

9õÈîZqÃú Ë+EòdEn#i)¬ù9Ãê

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

9ÇòdZn#i)cZòÄ)¬Ãú ®éJ´Ãê

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


আমি এখন ভাবছি যদি এই অনুভূমিকভাবে বিল্ডিংয়ের ফলে কোনও সংক্ষিপ্ত সমাধান না হয়! : \
শেগি

1

কিউব্যাসিক , 87 বাইট

একটি অনামী ফাংশন যা কনসোলটিতে কোনও ইনপুট এবং আউটপুট নেয় না।

For y=-8To 8:z=Abs(y):a$="123456789abcdefghi":?Mid$(a$,1,9-z)Spc(2*z)Mid$(a$,10+z):Next

এই উত্তরটি প্রযুক্তিগতভাবে বহুবিশেষ এবং এটি ভিবিএতে কাজ করবে





1

পাওয়ারশেল 5.1, 70 69 64 57 বাইট

ধন্যবাদ -7 বাইটের জন্য ম্যাজি

1..9+8..1|%{-join(1..$_+'  '*(9-$_)+' ihgfedcba'[$_..1])}

এটিকে একসাথে আঠালো করে তোলা একটি বাইট সংরক্ষণ করে। একে একে সব মেগা-জয়েন করা আরও 5 টি সাশ্রয় করে। আইআই পেতে একটি চরকে [[] চর [[] চর এ পরিণত করার মাধ্যমেও কাজ করে। আসল অক্ষরের উপর একটি ব্যাপ্তি ব্যবহার করা 5 বাইট ভাল better


1
এই চেষ্টা: 1..9+8..1|%{-join(1..$_+' '*(9-$_)+' ihgfedcba'[$_..1])}। নোট ' '*(9-$_)2 স্থান চিহ্ন রয়েছে
mazzy

1
@ মজজি অুফ, সেই দ্বিগুণ স্থানের কৌশলটি অনুপস্থিত। আমি বিভিন্ন গণিতের বিবৃতি নিয়ে ভাবছিলাম তবে সুস্পষ্ট সমাধানটি আমার কাছে কখনও আসেনি।
ভেস্কাহ 5:55

1

সি (জিসিসি) ,143 142 127 + 10 = 137 136 + 10 = 146 (সংকলক পতাকা) বাইট

লজিকাল OR বা বিটওয়াস অপারেটরের সাথে প্রতিস্থাপন করে -1 বাইট।

-5 বাইট ধন্যবাদ লোগারকে ধন্যবাদ।

মিডিয়ান লাইন ঠিক করতে +9 বাইট, এটি আউটপুট ছিল দুবার।

char*s="123456789abcdefghi";G{for(;j<18;++j)putchar(i>j|j>17-i?s[j]:32);puts("");}f(){int i=0,j=0;for(;i++<8;)G;g(i+1,j);for(;i-->1;)G;}

সংকলক পতাকা:

-DG=g(i,j)

এই ম্যাক্রো এর উপস্থিতিগুলিকে গুণিত করে g(i,j): ফাংশন ঘোষণা এবং কলগুলি।

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

Pietu1998 এর দুর্দান্ত উত্তরের চেয়ে আলাদা পদ্ধতি , আরও সোজা (এবং পাঠযোগ্য) তবে উচ্চতর স্কোর।

এন্ট্রি পয়েন্ট ফাংশন f(); ফাংশন g()প্রতিটি পরপর রেখার মুদ্রণ পরিচালনা করে।

পুনঃনামকরনের দ্বারা একটি পুরো প্রোগ্রাম করা সম্ভব হয়েছে fথেকে main, কিন্তু এটি এখনো স্কোর বাড়াতে হবে।

সুন্দর সংস্করণ, ম্যাক্রো Gপ্রসারিত:

char *s = "123456789abcdefghi";
int g(int i, int j) {
    for(; j < 18; ++j)
        putchar((i > j | j > 17 - i) ? s[j] : 32);
    puts(""); // Break the line -- shorter than putchar(10) or printf("\n")
}
int f() {
    int i = 0, j = 0; // j is constant, declared here to not have to declare and init it inside g()
    for(; i++ < 8;) // Upper half of the tie
        g(i, j);
    g(i + 1, j); // Median line
    for(; i-- > 1;) // Lower half; --i > 0 would also work for the condition
        g(i, j);
}


সংকলক পতাকাগুলির জন্য 137 তবে +10 যদিও
joH1

137 মোট, 127 বাইট কোড এবং 10 বাইট সংকলক পতাকা হয়।
25:50

ওফ দুঃখিত, আমার খারাপ। এখন আপডেট হচ্ছে!
joH1

@ লগার্ন আমি ম্যাক্রোর নাম পরিবর্তন Gকরে ফাংশনের নামের সাথে মিল রাখতে স্বাধীনতা নিয়েছিলাম ।
joH1



0

ভিবিএ, 75 বাইট

একটি অনামী ভিবিই তাত্ক্ষণিক উইন্ডো ফাংশন যা কনসোলটিতে কোনও ইনপুট এবং আউটপুট নেয় না।

For y=-8To 8:z=Abs(y):a="123456789abcdefghi":Mid(a,10-z)=Space(2*z):?a:Next

0

জেলি , 22 21 বাইট

9R€z⁶Zµạ106Ọ$Ṡ¡€Uṭ)ŒḄ

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

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

ফাংশন যা লাইনের একটি তালিকা দেয়।





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