এটা ঠিক একটি বাগ ছিল


76

মধ্যে bugged আউটপুট দ্বারা অনুপ্রাণিত @Carcigenicate এর Clojure উত্তর জন্য প্রিন্ট এই হীরা চ্যালেঞ্জ।

এই সঠিক পাঠ্যটি মুদ্রণ করুন:

1        2        3        4        5        6        7        8        9        0
1       2       3       4       5       6       7       8       9       0
1      2      3      4      5      6      7      8      9      0
1     2     3     4     5     6     7     8     9     0
1    2    3    4    5    6    7    8    9    0
1   2   3   4   5   6   7   8   9   0
1  2  3  4  5  6  7  8  9  0
1 2 3 4 5 6 7 8 9 0
1234567890
1 2 3 4 5 6 7 8 9 0
1  2  3  4  5  6  7  8  9  0
1   2   3   4   5   6   7   8   9   0
1    2    3    4    5    6    7    8    9    0
1     2     3     4     5     6     7     8     9     0
1      2      3      4      5      6      7      8      9      0
1       2       3       4       5       6       7       8       9       0
1        2        3        4        5        6        7        8        9        0

(উভয় দিকের মধ্যবর্তী বাহু থেকে প্রতিটি অঙ্ক পূর্ববর্তী লাইনের চেয়ে আরও একটি স্পেস দ্বারা পৃথক করা হয়))

চ্যালেঞ্জ বিধি:

  • কোনও ইনপুট ( বা একটি খালি অব্যবহৃত ইনপুট ) থাকবে না।
  • চলার স্থানগুলি alচ্ছিক।
  • একটি একক নতুন নতুন পংক্তি optionচ্ছিক।
  • শীর্ষস্থানীয় স্থান বা নতুন-লাইন অনুমোদিত নয়।
  • স্ট্রিং-অ্যারে ফিরিয়ে দেওয়া অনুমোদিত নয়। আপনি হয় টেক্সট আউটপুট করা উচিত, অথবা একটি ফাংশন থাকা উচিত যা সঠিক ফলাফল সহ একক স্ট্রিং প্রদান করে।

সাধারণ নিয়ম:

  • এটি , তাই বাইট জেতে সংক্ষিপ্ত উত্তর।
    কোড-গল্ফ ভাষাগুলি আপনাকে নন-কোডগলফিং ভাষার সাথে উত্তর পোস্ট করতে নিরুৎসাহিত করবেন না। 'যে কোনও' প্রোগ্রামিং ভাষার পক্ষে যতটা সম্ভব সংক্ষিপ্ত উত্তর নিয়ে আসার চেষ্টা করুন।
  • স্ট্যান্ডার্ড নিয়মগুলি আপনার উত্তরের জন্য প্রযোজ্য , সুতরাং আপনাকে সঠিক পরামিতি এবং রিটার্ন-টাইপ, সম্পূর্ণ প্রোগ্রাম সহ STDIN / STDOUT, ফাংশন / পদ্ধতি ব্যবহারের অনুমতি দেওয়া হবে। আপনার কল
  • ডিফল্ট লুফোলগুলি নিষিদ্ধ।
  • যদি সম্ভব হয় তবে আপনার কোডের জন্য একটি পরীক্ষার সাথে একটি লিঙ্ক যুক্ত করুন।
  • এছাড়াও, প্রয়োজন হলে একটি ব্যাখ্যা যোগ করুন।

স্ট্রিংগুলির একটি অ্যারে আউটপুট দেওয়া - প্রতি লাইনে 1 টি স্ট্রিং - অনুমোদিত?
শেগি

@ শেগি দুঃখিত, এক্ষেত্রে এটি হয় নতুন লাইনগুলির সাথে একটি একক স্ট্রিং ফেরত দেওয়া উচিত, বা ফলাফলের ফলাফল আউটপুট করা উচিত। আমি এটিকে চ্যালেঞ্জের নিয়ম হিসাবে যুক্ত করেছি।
কেভিন ক্রুইজসেন

কোনও উদ্বেগ নেই, কেভিন; আমি নিজের হাতটিকে কয়েক বাইট বাঁচাতে পারি কিনা তা দেখার জন্য কেবল আমার বাহুটিকে চেঁচাচ্ছিল।
শেগি

3
পছন্দ করুন এই কয়েকটি বাইট সংরক্ষণের উদ্দেশ্য ছাড়াও আমাদের কোড-গল্ফ চ্যালেঞ্জে আরও কী কারণ জিজ্ঞাসা করতে হবে? ;)
কেভিন ক্রুইজসেন

8
হা, এটা দুর্দান্ত। আমি ভাবছিলাম যে কেন উত্তরটি হঠাৎ এত মনোযোগ পেল? ধন্যবাদ!
কার্সিজিনিট

উত্তর:


7

এসওজিএল ভি0.12 , 12 বাইট

9{SUē↕∑}¹№╬«

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

9{     }      9 times do
  SU            push "1234567890"
    ē           push e, predefined with the input, which defaults to 0, and then increase it
     ↕          get that many spaces
      ∑         join the string of digits with those spaces
        ¹     collect the results in an array
         №    reverse the array vertically
          ή  palindromize vertically with 1 overlap

ওহ সুন্দর, এটি গৃহীত উত্তরের চেয়েও ছোট। হুঁ, উত্তর গৃহীত হওয়ার কয়েক মাস পরে সংক্ষিপ্ত উত্তরের নীতি কী? এটি কি এখন চেকটি পাবে (আমার মনে হয় বর্তমানে গৃহীত উত্তরের সাথে দয়া করে অন্যায়), নাকি আমার আরও কিছু করা উচিত? নির্বিশেষে দুর্দান্ত উত্তর! আমার কাছ থেকে +1
কেভিন ক্রুইজসেন

@ কেভিন ক্রুইজসেন সাধারণত সর্বোত্তম অনুশীলন হ'ল গৃহীত উত্তরটি আপডেট করা, তবে এটি কয়েকটি নতুন বৈশিষ্ট্য হিসাবে ব্যবহার করে, আমি বলব যে কোনওভাবেই যাওয়ার কারণ আছে - আপনি বেছে নিন।
ডিজাইমা

62

পাইথন 2 , 59 57 56 55 বাইট

i=8;exec"print(' '*abs(i)).join('1234567890');i-=1;"*17

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

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


ব্যাখ্যা

  • i=8- 8নামক একটি ভেরিয়েবলের মান নির্ধারণ করে i

  • exec"..."*17- কোডটির ব্লক ( ...) 17 বার কার্যকর করুন।

  • print(...) - ফলাফল আউটপুট।

  • ' '*abs(i)- বারবার বারবার দিয়ে একটি স্ট্রিং তৈরি করুন |i|

  • .join('1234567890')- উপরের সাথে তৈরি স্ট্রিংটি ইন্টারলিভ করুন 1234567890যেমন |i|অঙ্কগুলির মধ্যে ফাঁকা স্থান সন্নিবেশ করা হয়।

  • i-=1- হ্রাস i, এবং 17 বার এটি সম্পাদন করে, এটি পৌঁছে যায় -8, যা এর সাহায্যে পুনরাবৃত্ত প্যাটার্ন তৈরি করে abs()



23
এটি কোনও গল্ফিং ভাষা ইমোতে 25 বাইটের চেয়ে ফার্ম বেশি চিত্তাকর্ষক।
জ্যালো

4
@ জ্যালো ধন্যবাদ, তবে 25 বাইট-সমাধানগুলি খুব চিত্তাকর্ষক, কারণ তারা তাদের লেখকরা প্রচুর গল্ফিং প্রচেষ্টা দেখায়। প্রথমে তাদের উত্সের প্রতিটি চরিত্রের অর্থ কী তা আপনার জানা উচিত এবং তারপরে আপনি বুঝতে পারবেন যে তারা কত সুন্দরভাবে গল্ফ করেছে।
মিঃ এক্সকোডার 9

2
@ জেসনচেন না, পাইথন সেই সিনট্যাক্সের অনুমতি দেয় না কারণ এটি সি-এর মতো ভাষার ক্ষেত্রে নির্দিষ্ট।
মিঃ এক্সকডার

5
সম্ভাব্য অনুপ্রেরণা: exec 55 বাইট ছাড়াও করা যায়পাইথন 3 থেকে 57 বাইট ডাউন পেতে একই ধরণের পদ্ধতির ব্যবহার করেছেন । বাদ দিয়ে এটিকে আরও ছোট করার কোনও সুস্পষ্ট উপায় দেখেনি exec, তবে অনুভব করেছি যে আমি এটি একটি সম্ভাবনা হিসাবে উল্লেখ করেছি।
শেডোএ্যাঞ্জার

32

ভিম, 35 বাইট:

i1234567890<esc>qqYP:s/\d/& /g
YGp{q7@q

ব্যাখ্যা:

i1234567890<esc>    " insert '1234567890'
qq                  " Record the following into register 'q'
  Y                 "   Yank a line
   P                "   Paste it above us
    :s/\d/& /g      "   Put a space after each number
Y                   "   Yank this line
 G                  "   Move the end of the buffer
  p                 "   Paste the line
   {                "   Move the beginning of the buffer
    q               " Stop recording
     7@q            " Call macro 'q' 7 times

6
আমি এও জানিনা যে এটি বিজয়ী নয়, এটি সুন্দর।
মিঃডুক

নিবন্ধন করুন আপনি এটি পছন্দ করেছেন বলে আমি আনন্দিত :)
ডিজেএমসিএমহেম

21

05 এ বি  1 ই , 14  13 বাইট

17F9ÝÀN8αð×ý,

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

ব্যাখ্যা

17F            # for N in [0 ... 16] do
   9Ý          # push [0 ... 9]
     À         # rotate left
      N8α      # compute the absolute difference between N and 8
         ð×    # push that many spaces
           ý   # merge the list of digits with the space string as separator
            ,  # print

1
হুম ... আপনি যদি এসইজিএলকে পরাজিত করতে পারতেন তবে আপনার যদি প্রয়োজন না হত s... কোনও স্ট্রিং সহ একটি তালিকা বা একটি তালিকার সাথে একটি স্ট্রিংয়ের সাথে যুক্ত হওয়া কি বোধগম্য নয়? আদনানকে উন্নতির পরামর্শ দেব। ওহ, এবং আছে .∊জন্য û»
এরিক আউটগল্ফার

@ এরিকথ আউটগল্ফার: অথবা আমি আমার পদ্ধতিটি পরিবর্তন করতে এবং আমার যে 1 বাইট প্রয়োজন তা বাঁচাতে পারি :)
এমিগানা

দুঃখিত ইতিমধ্যে upvated।
এরিক আউটগল্ফার

3
তার মানে আমি আবার
উপকৃত হয়েছি

4
8F9ÝÀNð×ý}».∊আমি একটা স্পেসশিপ মাউ করেছিলাম! এবং আমি সবাই 12-বাইট সম্পাদনার পরামর্শ দেওয়ার জন্য আগ্রহী ছিলাম।
ম্যাজিক অক্টোপাস উরন

20

সি 64 এএসএম, 358 বাইট (102 বাইট বেসস্টাবের সাথে সংকলিত)

সুস্পষ্ট সীমাবদ্ধতার কারণে এটি আমি সবচেয়ে কাছের পেতে পারি:

C64

jsr $E544
lda #9
sta $FD
nl1: jsr dl
jsr il
dec $FD
bne nl1
inc $FD
nl2: ldy $FD
cpy #9
bne nt1
bl: jmp bl
nt1: iny
sty $FD
jsr dl
jsr il
jmp nl2
dl: clc
ldx #$31
ldy #0
lp: txa
sm: sta $0400, y
inx
cpx #$31
bne c1
rts
c1: cpx #$3A
bne nt2
ldx #$30
clc
nt2: tya
adc $FD
cmp #40
bcc c2
rts
c2: tay
jmp lp
il: lda sm+1
adc #39
bcc nc
inc sm+2
nc: sta sm+1
rts

(সম্ভবত কিছুটা অনুকূল করা যেতে পারে)


পিপিসিজিতে আপনাকে স্বাগতম! সুন্দর পোস্ট করতে কোড ট্যাগ ব্যবহার করুন। আমি আপনাকে পোস্ট সম্পাদনা। পরিবর্তনের প্রয়োগের পরে আপনি দেখতে পাচ্ছেন, সম্পাদনা ক্লিক করে কী পরিবর্তন হয়েছিল
Новиков

আমি সবেমাত্র যাচাই করেছি এবং এটি প্রথম ও শেষ লাইনে 82 টি কলামের প্রয়োজন হওয়ায় এটি 80 টি কলস পিইটি-তেও ফিট করবে না।
শন বেবারস

17

টিএসকিউএল, 220 148 বাইট

জেডএলকে পোস্ট করেছেন উন্নতি:

DECLARE @ VARCHAR(MAX)=''SELECT TOP 17@+=REPLACE('1@2@3@4@5@6@7@8@9@0','@',SPACE(ABS(9-RANK()OVER(ORDER BY object_id))))+'
'FROM sys.objects PRINT @

আউটপুট:

1        2        3        4        5        6        7        8        9        0
1       2       3       4       5       6       7       8       9       0
1      2      3      4      5      6      7      8      9      0
1     2     3     4     5     6     7     8     9     0
1    2    3    4    5    6    7    8    9    0
1   2   3   4   5   6   7   8   9   0
1  2  3  4  5  6  7  8  9  0
1 2 3 4 5 6 7 8 9 0
1234567890
1 2 3 4 5 6 7 8 9 0
1  2  3  4  5  6  7  8  9  0
1   2   3   4   5   6   7   8   9   0
1    2    3    4    5    6    7    8    9    0
1     2     3     4     5     6     7     8     9     0
1      2      3      4      5      6      7      8      9      0
1       2       3       4       5       6       7       8       9       0
1        2        3        4        5        6        7        8        9        0

DECLARE @ VARCHAR(MAX)=''SELECT TOP 17@+=REPLACE('1@2@3@4@5@6@7@8@9@0','@',SPACE(ABS(9-RANK()OVER(ORDER BY object_id))))+' 'FROM sys.objects PRINT @
জেডএলকে

প্রতিস্থাপন sys.objectsসঙ্গে sysobjects, এবং 1object_id` idআমি খাটো টেবিলের জন্য লাগছিল sysকিছুই সংক্ষিপ্ত ছিল কলাম স্কিমা, কিন্তু সংক্ষিপ্ত যেমনsysobjects
Jaloopa

এবং আপনি অভ্যন্তরীণ CAST(এর সাথে POWER(10)) পরিবর্তন করে আরও কয়েকটি বাইট সংরক্ষণ করতে পারেনVARCHAR
জলোপা

আসলে, ব্যবহার করে LOG10REPLICATEDECLARE @o VARCHAR(MAX)=''SELECT TOP 17 @o+=REPLACE('1@2@3@4@5@6@7@8@9@0','@',replicate(' ',LOG10(POWER(10,ABS(ROW_NUMBER()OVER(ORDER BY id)-9)+1)/10)))+' 'FROM sysobjects PRINT @o
স্টাফগুলি

আপনি কেবলমাত্র @3 টি অক্ষর শেভ করতে পরিবর্তনশীল নামটি পরিবর্তন করতে পারেন ।
সেতু

14

এপিএল (ডায়ালগ) , 22 বাইট

↑∊¨(1+|¯9+⍳17)↑¨¨⊂1⌽⎕D

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

⎕Dডি আইটিগুলি শূন্য থেকে নয় পর্যন্ত

1⌽ এক ধাপ ডানদিকে ঘোরান (শেষে শূন্য রাখুন)

 ঘের (একক হিসাবে আচরণ)

(... )↑¨¨ জন্য প্রতিটি এই সংখ্যার থেকে অনেক অক্ষর নেওয়া প্রতিটি বর্ণের:

⍳17 এক সতেরো মাধ্যমে

¯9+ নয়টি বিয়োগ

| পরম মানগুলি সন্ধান করুন

1+ এক যোগ কর

∊¨ প্রতিটি তালিকাভুক্ত (সমতল)

 গভীরতার এক স্তরকে র‌্যাঙ্কের স্তরে পরিবর্তন করুন (ম্যাট্রিফাই)


3
এই মত একটি সংক্ষিপ্ত ভাষায় এটি গুরুত্ব সহকারে দুটি যোগ করতে একটি বাইট লাগে?
aschepler

3
@ এসচেপলার হ্যাঁ এপিএল কোনও গল্ফ করার ভাষা নয় এবং এর বর্ধিত আদিম নেই। জে, তবে এটি দুটি বাইট লাগে; >:
অ্যাডম

4
APL is not a golfing language... ↑⊃¨,/¨(1+|¯9+⍳17)↑¨¨⊂1⌽⎕D... ಠ_ಠ
আলেকজান্ডার

1
@ আলেকজান্দার এই প্রতি আমার মনোযোগ ফিরে পাওয়ার জন্য ধন্যবাদ। আমি 3 বাইট গল্ফ করতে পারে।
অ্যাডম


12

জাভা 11 (জেডিকে) , 98 বাইট

o->{for(int i=-9;++i<9;)System.out.println("".join(" ".repeat(i<0?-i:i),"1234567890".split("")));}

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

  • -১৪ বাইট জেডিকে ১১ এ স্যুইচ করে, যা এখন একটি নেটিভ String::repeat

পূর্ববর্তী উত্তর ( জাভা (ওপেনজেডকে 8) ), 113 112 বাইট

o->{for(int i=-9;++i<9;)System.out.printf("".join("%1$"+(i<0?-i:i>0?i:"")+"s","1234567890".split(""))+"%n","");}

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

ব্যাখ্যা

আমি মূলত নিম্নলিখিত String17 বার নির্মাণ করছি ( Nএকটি পরিবর্তনশীল, একটি আসল মান নয়):

"1%1$Ns2%1$Ns3%1$Ns4%1$Ns5%1$Ns6%1$Ns7%1$Ns8%1$Ns9%1$Ns0%n"

এটি সমস্ত প্রত্যাশিত অঙ্ক, %1$Nsযেখানে Nপ্রতিটি অঙ্কের মধ্যে ফাঁকির সংখ্যা কোথায় যুক্ত হয়।

%1$Nsমূলত "প্রথম যুক্তি নিন এবং দৈর্ঘ্য কমপক্ষে না হওয়া পর্যন্ত প্যাড করুন N"। এছাড়াও, %1$0sসমর্থন করে না তাই একটি বিশেষ কেস %1$sতৈরি করা হয় 0

পরিশেষে, আমি একক যুক্তি ব্যবহার করে সেই স্ট্রিংটির ফর্ম্যাট-মুদ্রণ করি: ""তাই ফর্ম্যাটরটি সর্বদা একই খালি স্ট্রিংটিকে পুনরায় ব্যবহার করে প্রয়োজনীয় স্থানগুলিতে প্যাড করে।

সংরক্ষণ

  • কেভিন ক্রুইজসেনকে 1 বাইট ধন্যবাদ

2
চমৎকার উত্তর! BTW, আমি স্পষ্টভাবে চ্যালেঞ্জ একটি অব্যবহৃত খালি প্যারামিটার অনুমতি দেওয়া হয় উল্লেখ, তাই আপনি প্রতিস্থাপন করতে পারেন ()->সঙ্গে o->একটি বাইট সংরক্ষণ করুন। :)
কেভিন ক্রুইজসেন

আপনি করতে পারেন oএকটি intএবং লুপ জন্য আপনার এটি ব্যবহার? for(o=-9;++o<9;)
শীতকাল

2
@ উইন্টার নো, কারণ চ্যালেঞ্জটি " অব্যবহৃত " বলে, এবং এটি প্যারামিটার ভেরিয়েবলটি ব্যবহার করবে, এমনকি যদি মানটি ব্যবহার না করা হয়।
অলিভিয়ার গ্রাগোয়ার

@ অলিভিয়ারগ্রোগোয়ার এটি এই পোস্ট কোডগল্ফ.মেটা.স্ট্যাকেক্সেঞ্জাওয়েজ / সেকশনস / 12681/… এর সাথে লিঙ্ক করেছে এবং এই পোস্টগুলিতে কেবল এটি খালি থাকতে হবে ( ইনটগুলির জন্য 0)।
শীতকাল

@ ইনডিড সত্যই, তবে চ্যালেঞ্জটি নিজেই "অব্যবহৃত" বলেছে। চ্যালেঞ্জকে ছাড়িয়ে যাওয়া ডিফল্টের নির্দিষ্ট রায়।
অলিভিয়ের গ্রাগোয়ার

11

জাপট -R , 19 18 16 14 13 বাইট

Aõ%A
£qYçÃÔÅê

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


ব্যাখ্যা

A             :10
 õ           :Range [1,10]
  %A         :Modulo each by 10
\n           :Assign to variable U
£            :Map each element at 0-based index Y
 q           :  Join U with
  Yç         :   Space repeated Y times
    Ã        :End map
     Ô       :Reverse
      Å      :Slice off first element
       ê     :Mirror
             :Implicitly join with newlines and output

2
খুশী হলাম। আমার 16-বাইট সমাধান ছিল9ÆAõ%A qXîÃw ê ·
ETH প্রোডাকশনগুলি

8

জাভাস্ক্রিপ্ট (ES2017), 83 73 72 68 বাইট

10 বাইট সংরক্ষণের জন্য শেগি ধন্যবাদ । ক্রেগকে ধন্যবাদ 1 বাইট সংরক্ষণ করার জন্য। ধন্যবাদ 4 টি বাইট সংরক্ষণের জন্য আর্কস

for(i=-9,a="";i++<8;)a+=[...`1234567890
`].join("".padEnd(i<0?-i:i))

for(i=-9,a="";i++<8;)a+=[...`1234567890
`].join("".padEnd(i<0?-i:i))

console.log(a);
.as-console-wrapper { max-height: 100% !important; top: 0; }
.as-console-row:after { display: none !important; }


এর জন্য পলিফিল ব্যবহার করে 1 বাইট সংরক্ষণ করুন Math.abs। আমি aতালিকাটি হার্ডকোডবিহীন নয়, তবে এটি একটি পছন্দ ...a=[...Array(10).keys()];for(i=-8;i<9;i++)console.log(a.join(' '.repeat(i<0?-i:i)))
টমাস ডাব্লু

1
এর সাথে কিছু বাইট সংরক্ষণ করুন[..."1234567890"].join("".padEnd(i<0?-i:i))
শেগি

@ শেগি ধন্যবাদ এটি 10 ​​বাইট সংরক্ষণ করেছে :)
তুষার

1
@ থমাসডাব্লু: সর্বশেষ হিসাবে নয়, প্রথম উপাদান হিসাবে [...Array(10).keys]থাকবে 0
শেগি

1
আপনি লগিংয়ের পরিবর্তে স্ট্রিংয়ে ফলাফল সংরক্ষণের মাধ্যমে আপনার পদ্ধতিটি ব্যবহার করে একটি বাইট সংরক্ষণ করতে পারেন :, আসল নতুন লাইনটি for(i=-8,s="";i<9;i++)s+=[..."1234567890"].join("".padEnd(i<0?-i:i))+`X`কোথায়X
ক্রেগ আয়রে

7

ব্র্যাচল্যাগ , 30 29 28 বাইট

Ị↺{∧≜;Ṣj₍g;?↔zcc}ᶠ⁹↔;XcP↔Pẉᵐ

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

লিকি নুনকে ধন্যবাদ একটি বাইট সংরক্ষণ করা হয়েছে

ব্যাখ্যা

Ị↺                               The string "1234567890"
  {               }ᶠ⁹            Find the first 9 outputs of:
   ∧≜                              Take an integer
       ;Ṣj₍                        Juxtapose " " that number of times
           g;?↔z                   Zip that string of spaces with "1234567890"
                cc                 Concatenate twice into one string
                    ↔            Reverse the resuling list
                     ;XcP↔P      Palindromize the list (concatenate X to it into the list P,
                                   P reversed is still P)
                           ẉᵐ    Map writeln


@ ল্যাকইনুন আমি বড় "এই সঠিক পাঠ্যটি প্রিন্ট করুন" তে আটকে গেলাম এবং পড়িনি যে আমাদের পিছনে লাইন থাকতে পারে…
ফ্যাটালাইজ করুন


1
@ ল্যাকিয়ুন আপনি নিজের উত্তর পোস্ট করেন নি কেন?
Fatalize

7

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

F⁹⪫⁺…I¹:⟦0¶⟧× ι‖B↑

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

F⁹      Repeat 9 times (i = loop variable)
  ⪫       Join
   ⁺       Concatentate
    …I¹:    All the characters from str(1) below ":" (i.e. to "9") as a list
    ⟦0¶⟧    A list whose element is the string "0\n"
   × ι     With i spaces
‖B↑     Reflect everything upwards but without duplicating the top line

দ্রষ্টব্য: Cast(1)একই সংখ্যক বাইট গ্রহণ করে কারণ এর "1"আগে বিভাজকের প্রয়োজন হবে ":"(যা ঘটলে ডাইভারবোসিফায়ার sertোকাতে ব্যর্থ হয়)।


7

আর , 108 বাইট

for(i in abs(-8:8))cat(paste0(el(strsplit("1234567890","")),paste(rep(" ",i),collapse=""),collapse=""),"\n")

কেবল স্ট্রিংগুলি আটকানো এবং ভেঙে দেওয়া।

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

সম্পাদনা করুন: কোন সমস্যা চিহ্নিত করার জন্য চ্যালেঞ্জার 5 এর জন্য ধন্যবাদ। এটি এখনই স্থির করুন।

সম্পাদনা 2: বাউন্সিবলকে একটি বাইট ধন্যবাদ রক্ষা করেছে।


সাইটে স্বাগতম! :)
ডিজেএমসিএমহেম

2
এটি একেবারে ঠিক দেখাচ্ছে না - মাঝের লাইনের কোনও ফাঁকা জায়গা থাকা উচিত নয়।
ফল ফলবান so

@ চ্যালেঞ্জার 5 আপনি ঠিক বলেছেন! এর paste0পরিবর্তে এটি ব্যবহার করে এটি স্থির করে pasteএকটি বাইট যুক্ত করতে হবে :(
প্রবেল

1
2 বাইট ব্যবহার করে সংরক্ষণ করুন el: el(strsplit("1234567890",""))পরিবর্তেstrsplit("1234567890","")[[1]]
বাউন্সিবল 16

আপনি 70 টি বাইটে যুক্তি দিয়ে এবং আরও কিছু pasteকরে sepযুক্তির মাধ্যমে একটি বিবৃতি থেকে মুক্তি পেতে পারেনcat
জিউসেপ

7

পাইথন 3 , 58 57 54 বাইট

i=8
while i+9:print(*'1234567890',sep=' '*abs(i));i-=1

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

(শেষ তিনটি বাইটের জন্য @ ফ্লার্নকোকে ধন্যবাদ; আমি sepবনাম সংরক্ষণের জন্য সম্পূর্ণরূপে ভুলে গিয়েছি .join)


1
54 বাইট:while i+9:print(*'1234567890',sep=' '*abs(i));i-=1
8:30

7

পাইথ , 14 13 বাইট

মনিমনিককে 1 বাইট ধন্যবাদ।

V17j*da8NeMST

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


আপনি ম্যাপিং এবং যোগদানের পরিবর্তে লুপ করলে আপনি একটি বাইট সংরক্ষণ করতে পারেন। এখানে চেষ্টা করুন
মনমোনিক

6

জাভা 8, 235 234 206 163 বাইট

interface A{static void main(String[]a){for(int i=-8;i<9;i++){String s="";for(int j=1,k;j<10;j++){s+=j;for(k=0;k<(i>0?i:-i);k++)s+=" ";}System.out.println(s+0);}}}

আপডেট : -২২ বাইট ধন্যবাদ লিকি নুনকে!
আপডেট 2 : -43 বাইট আবার লিকি নুনকে ধন্যবাদ!

অসমাপ্ত:

interface A {
    static void main(String[] a) {
        for (int i = -8; i < 9; i++) {
            String s = "";
            for (int j = 1, k; j < 10; j++) {
                s += j;
                for (k = 0; k < (i > 0 ? i : -i); k++)
                    s += " ";
            }
            System.out.println(s + 0);
        }
    }
}

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

সম্পাদনা: আগের কোডটি ভুল ছিল! কোডটি গল্ফ করার সময় একটি ভুল করেছে, এটি এখন যেমন ইচ্ছা তেমন কাজ করা উচিত!


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

2
হুঁ, আপনি কি নিশ্চিত যে আপনি সঠিক কোড পোস্ট করেছেন? আমি যখন আপনার কোডটি কাস্ট -পেস্ট করে চেষ্টা করে দেখি তখন এটি সঠিক আউটপুট দেয় না।
কেভিন ক্রুইজসেন

1
ওহো, কোডটি গল্ফ করার সময় আমি কিছু ভুল করেছি! আমি এটা ঠিক করব!
অ্যালেক্স ফেরেটে



6

হুশ , 21 বাইট

mΣṪ`:§+↔tḣR8' ṁs`:0ḣ9

এটি একটি সম্পূর্ণ প্রোগ্রাম যা প্রবন্ধ মুদ্রণ করে। এটি অনলাইন চেষ্টা করুন! প্রচুর ট্রেলিং স্পেস রয়েছে।

ব্যাখ্যা

দ্বি-যুক্তির পরিসীমা ফাংশনের মতো হুশ এখনও প্রচুর প্রয়োজনীয় জিনিস হারিয়েছে, সুতরাং এই দ্রবণটির অংশগুলি কিছুটা হ্যাকি।

mΣṪ`:§+↔tḣR8' ṁs`:0ḣ9
              ṁs`:0ḣ9  This part evaluates to the string "1234567890".
                   ḣ9   Range from 1 to 9.
                `:0     Append 0.
              ṁs        Convert each number to string and concatenate.
     §+↔tḣR8'          This part evaluates to a list like ["  "," ",""," ","  "]
                       but with 17 elements instead of 5.
          R8'           A string of 8 spaces.
         ḣ              Take prefixes.
     §+                 Concatenate
       ↔                the reversal and
        t               tail of the prefix list, palindromizing it.
  Ṫ                    Take outer product of the two lists
   `:                  with respect to flipped prepeding.
                       This prepends each digit to each string of spaces.
mΣ                     Map concatenation over the results, computing the rows.
                       Implicitly join with newlines and print.

আপনি আরও কম বাইটের সাথে "1234567890" স্ট্রিং তৈরি করতে প্রতিস্থাপন ṁs`:0ḣ9করতে uṁsḣ10পারেন!
সোফিয়া ল্যাটারার

6

টি-এসকিউএল 145 152 বাইট

DECLARE @ VARCHAR(MAX)=''SELECT TOP 17@+=REPLACE('1x2x3x4x5x6x7x8x9x0','x',SPACE(ABS(number-8)))+'
'FROM master..spt_values WHERE type='P'PRINT @

ব্যবহারের জন্য আপডেট হয়েছে:

  • master..spt_valuesসংখ্যা তৈরি করতে ( WHERE type = 'P', এগুলি সর্বদা ধারাবাহিক থাকে, 0 থেকে শুরু করে)
  • @ জেডএলকে এর TOP 17ধারণা
  • প্রিন্ট (নিয়ম মেনে চলতে - কোনও স্ট্রিংলিস্ট নেই)
  • @ জানড্রোজেনের স্ট্রিংটিতে ফিরে গাড়িটি অন্তর্ভুক্ত করার দুর্দান্ত ধারণা (আমি এটি গণনা করেছি যে কেবল একটি বাইট - উইন্ডোজ সিআরএলএফ কী?)
  • ভেরিয়েবল নামের জন্য @ ব্রিজের আইডিয়া ব্যবহার করুন - এই সমস্ত কৌশল!

ফলাফল:

1        2        3        4        5        6        7        8        9        0
1       2       3       4       5       6       7       8       9       0
1      2      3      4      5      6      7      8      9      0
1     2     3     4     5     6     7     8     9     0
1    2    3    4    5    6    7    8    9    0
1   2   3   4   5   6   7   8   9   0
1  2  3  4  5  6  7  8  9  0
1 2 3 4 5 6 7 8 9 0
1234567890
1 2 3 4 5 6 7 8 9 0
1  2  3  4  5  6  7  8  9  0
1   2   3   4   5   6   7   8   9   0
1    2    3    4    5    6    7    8    9    0
1     2     3     4     5     6     7     8     9     0
1      2      3      4      5      6      7      8      9      0
1       2       3       4       5       6       7       8       9       0
1        2        3        4        5        6        7        8        9        0

(পুনঃস্থাপনের ধারণার জন্য ধন্যবাদ @ জনড্রোজেন)


এটি একটি দুর্দান্ত উত্তর! সাইটে আপনাকে স্বাগতম :)
ডিজেএমসিএমহেম

ধন্যবাদ। আমি দেখি যে আমরা কেউ কেউ এখানে আমাদের নিজস্ব ভাষাগুলি আবিষ্কার করেছেন :)
বিপরীত প্রকৌশলী

1
এই উত্তর এবং অন্যটির মধ্যে একটি মিশ্রণটি সর্বোত্তম: উদাহরণস্বরূপ SELECT TOP 17REPLACE('1x2x3x4x5x6x7x8x9x0','x',SPACE(ABS(9-RANK()OVER(ORDER BY object_id))))FROM sys.objects(ধরে নিচ্ছেন যে আপনার মুদ্রণের দরকার নেই)।
জেডএলকে

আহ @ জেডএলকে - কয়েকটি দুর্দান্ত কৌশল - শীর্ষ 17, ওভার র্যাঙ্ক, এবং সিস.বজেক্টস - আপনাকে ধন্যবাদ!
উল্টো ইঞ্জিনিয়ার

6

ক্লোজার, 126 99 বাইট

-27 কয়েক বোবা ভুল সংশোধন করে। এর বাইরের ব্যবহারের aপ্রয়োজন ছিল না, তাই আমি aসম্পূর্ণরূপে মুক্তি পেতে এবং কেবল apply strএকবার লিখতে সক্ষম হয়েছি । এটি আমাকে প্রধান ফাংশনের জন্য একটি ফাংশন ম্যাক্রো ব্যবহার করার অনুমতিও দিয়েছে, যা কিছু বাইট সংরক্ষণ করেছিল saved আমি Math/absরিব্যান্ডিংয়ের পরিবর্তে কলটিও ইনডিল করেছিলাম n-spaces

মূলত @ মিঃ এক্সকোডারের পাইথন ধারণার ক্লোজার বন্দর। পূর্ববর্তী ক্ষেত্রে, আমার মূলত হীরা চ্যালেঞ্জের জন্য abs/ rangeপদ্ধতিটি ব্যবহার করা উচিত ছিল , তবে আমি তখন আমি সম্ভবত বাগড আউটপুট উত্পাদন না করতাম!

বেশ সহজ. বর্তমান সারির উপর নির্ভর করে এমন অনেকগুলি স্থানের সাথে সংখ্যার স্ট্রিংটিতে যোগ দেয়।

#(doseq[n(range -8 9)](println(clojure.string/join(apply str(repeat (Math/abs n)\ ))"1234567890")))

(defn bugged []
  (doseq [n-spaces (range -8 9)]
    (println
        (clojure.string/join
          ; "String multiplication"
          (apply str
                 (repeat (Math/abs n-spaces) \space))
          "1234567890"))))


5

গণিত, 92 বাইট

Column@Join[Reverse@(s=Row/@Table[Riffle[Range@10~Mod~10,""<>Table[" ",i]],{i,0,8}]),Rest@s]

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

সিআরটিএল-ভি দিয়ে কপি / পেস্ট কোড চালনাতে
শিফট + এন্টার চাপুন


আপনি সম্ভবত একটি ট্রিআইটঅনলাইন লিঙ্ক যুক্ত করতে পারেন?
কেভিন ক্রুইজসেন

@ কেভিন ক্রুজসেন ম্যাথমেটিকা ​​একটি মুক্ত ভাষা নয়, এবং গণিতগুলি কাজ করছে বলে মনে হয় না
ফাঁস নুন

@ লিক্যনুন আহ ঠিক আছে, ধন্যবাদ আমি মার্টিন ইন্ডিয়ারকে টিআইও-লিঙ্কগুলি পোস্টের মাঝে মাঝে দেখতে পাই তবে সেগুলি আসলে ম্যাথিক্সের লিঙ্ক ছিল।
কেভিন ক্রুইজসেন

1
@ কেভিন ক্রুইজসেন অবশ্যই হ্যাঁ, আমি নির্দেশাবলীর সাথে লিঙ্কটি যুক্ত করেছি
J42161217

5

সি, 97 বাইট

i=-9;main(j){for(;++i<9;putchar(10))for(j=0;++j<11;printf("        "+8-abs(i)))putchar(48+j%10);}

আপনার সংকলক সম্ভবত এই কোড সম্পর্কে অনেক অভিযোগ করবে ; খনি 4 টি বিভিন্ন ধরণের 7 সতর্কতা নিক্ষেপ করেছে। পরে কোড উন্নত করতে পারে।

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


5

সি (জিসিসি) , 76 বাইট

f(x,y){for(y=-9;++y<9;puts(""))for(x=10;x++;printf("%-*d",abs(y)+1,x%=10));}

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

এটি কিছু পিছনে স্থান দেয়, যা ঠিক আছে বলে মনে করা হচ্ছে।

এটি গতিশীল দৈর্ঘ্যের বাম-ন্যায়সঙ্গত ক্ষেত্রগুলি ব্যবহার করে সংখ্যাগুলি মুদ্রণ করে - এটি ফর্ম্যাট স্ট্রিংয়ের %-*dজন্য।

অভ্যন্তরীণ লুপটির সমাপ্তির শর্তটি "সরলকরণ" করতে কিছু মজাদার সূচনা (10 থেকে শুরু; 10 এর যে কোনও একাধিক ভাল হবে)।


4

কাঠকয়লা , 21 20 19 18 বাইট

F⁹«F…¹χ⁺κ… ι0⸿»‖B↑

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

ভার্বোজ সংস্করণে লিঙ্ক । মূলত আমি অঙ্কনের নীচের অংশটি তৈরি করি এবং তারপরে পাঠ্যটি প্রতিবিম্বিত করি।


1
আমি যখন প্রশ্নটি দেখেছি তবে উত্তরটি দেখার আগে আমি চারকোলে এটি চেষ্টা করে দেখছি। আমি 21-বাইট উত্তর দিয়ে শুরু করেছি তবে তা 20 বাইটে গল্ফ দিয়েছি ... ভুতুড়ে!
নিল

@ নীল :-D ভাল, এখন এটি 19 বাইট!
চার্লি

হ্যাঁ, আমি নিজেই এই গল্ফটি পেয়েছি। আমিও তাকিয়ে ছিলাম E…⁹⪫E…·¹χI﹪κχ× ι‖B↑(19 বাইটের জন্যও) তবে অনুবাদক এটি পছন্দ করছেন বলে মনে হচ্ছে না (আমি নিজে এটিতে কী সমস্যা হয়েছে তা দেখতে পাচ্ছি না)।
নিল

ওহ, পরিসীমা দুটি যুক্তি লাগে, আমাকে বোকা।
নীল

1
দেখা যাচ্ছে Mapযে একটি লাল রঙের হারিং ছিল, তাই আমি এখন আমার 18-বাইট উত্তর পোস্ট করেছি।
নীল

4

সিজেম , 21 বাইট

A,(+aH*ee{:\8-zS**n}/

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

ব্যাখ্যা

A,     e# Get [0 1 2 ... 9].
(+     e# Rotate the 0 to the end.
aH*    e# Wrap in an array and repeat 17 times.
ee     e# Enumerate. This pairs each copy of the array with its index in
       e# the list.
{      e# For each [index array] pair...
  :\   e#   Unwrap the pair and swap its order.
  8-z  e#   Get the absolute difference of the index from 8.
  S*   e#   Get a string of that many spaces.
  *    e#   Riffle the list of digits with the string of spaces.
  n    e#   Print it with a trailing linefeed.
}/

1
বিকল্প সমাধান (এছাড়াও 21 বাইট):9{S*A,(+\*}%_W%);\+N*
এসোসোলিং ফল

4

ব্যাচ, 163 বাইট

@set s=1 2 3 4 5 6 7 8 9 0
@set t=         
@for %%l in (9 7)do @for /l %%i in (1,1,%%l)do @call:%%l
:7
@set t=  %t%
:9
@set t=%t:~1%
@call echo %%s: =%t%%%

দ্রষ্টব্য: প্রথম লাইনটি 9 স্পেসে শেষ হবে। ব্যাখ্যা: সৃজনশীল লাইন নম্বর ব্যবহার করে! প্রথম লুপটি 9 বার চালাতে হবে এবং প্রতিবার একটি স্থান মুছতে হবে, যখন দ্বিতীয় লুপটি 8 বার চালাতে হবে এবং প্রতিবার একটি স্থান যুক্ত করতে হবে। পূর্ববর্তীটি এটি 7 বার চালানো এবং 8 তম বারের মধ্য দিয়ে পড়া দ্বারা অর্জন করা হয়, দ্বিতীয়টি দুটি স্পেস যুক্ত করে এবং এর মধ্যে আবার একটি মুছার জন্য পড়ে যায়।




4

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

8..0+1..8|%{1..9+0-join' '*$_}

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

নির্মান একটি সীমার 8,7,6...2,1,0,1,2...8তারপর প্রতিটি সংখ্যা মাধ্যমে loops। লুপ এর ভিতরে আমরা একটি সীমার গঠন করা 1..9যোগসূত্র সঙ্গে 0তারপর -joinসংখ্যার সীমার মধ্যে একসঙ্গে স্পেস যথাযথ নম্বর দিয়ে। প্রতিটি স্ট্রিং পাইপলাইনে রেখে যায়, এবং আউটপুট প্রোগ্রামের সমাপ্তিতে অন্তর্ভুক্ত থাকে।


1
চমৎকার উত্তর! পাওয়ারশেল হঠাৎ আরও গোলাপী বোধ করছেন :)
মিঃ এক্সকোডার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.