আমি একটা স্পেসশিপ মাউ করেছিলাম!


39

পরিচিতি:

আমার " এটি কেবল একটি বাগ " চ্যালেঞ্জের জবাবের জন্য @ এমিগানার 05AB1E জবাবের উপর @ ম্যাজিক অ্যাক্টপাস ইউরনের এই মন্তব্যে অনুপ্রাণিত :

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

যা একটি 05AB1E (উত্তরাধিকার) প্রোগ্রাম যার ফলাফল:

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     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

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

চ্যালেঞ্জ:

ইনপুট: একটি খালি স্ট্রিং

আউটপুট: বাইরের দিকে যাওয়ার দিক থেকে উপরের আউটপুট-এ সমান, প্রতিটি রেখার মাঝে প্রতিটি অক্ষরের মধ্যে আরও একটি স্থান যুক্ত করুন length - 1। সুতরাং একটি ইনপুট 1234567890জন্য আউটপুট আসলে পরিবর্তে এটি হবে:

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         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 2 3 4 5 6 7 8 9 0
1234567890

কেন? দৈর্ঘ্য 1234567890হয় 10। সুতরাং আমরা 10 লাইন আউটপুট দিয়ে শুরু করি: ফাঁকা ছাড়াই প্রথম লাইন; একটি স্পেস ডিলিমিটার সহ দ্বিতীয়; দুই সহ তৃতীয়; ইত্যাদি এবং তারপরে ( length - 1ফাঁকা জায়গাগুলির মধ্যবর্তী রেখাটি ছাড়াই ) নীচে যাওয়ার সময় আমরা প্রাথমিক ইনপুটটিতে ফিরে যাই।

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

  • ইনপুটটি খালি নয় (একটি দৈর্ঘ্য >= 1) হওয়ার গ্যারান্টিযুক্ত । (একক অক্ষরের ইনপুটগুলির জন্য আমরা কেবল অক্ষরটিকে আউটপুট করি।
  • যতক্ষণ আউটপুট নিজেই (স্ক্রিনে থাকুক না কেন) যথাযথ যতক্ষণ পর্যন্ত পিছনে / শীর্ষস্থানীয় স্থান / নিউলাইনগুলির অনুমতি দেওয়া হয়। (আউটপুট লাইনের মধ্যে খালি লাইনও অনুমোদিত নয়))
  • ইনপুটটিতে কেবল সাদা প্রস্থানগুলি (কোড-পয়েন্ট রেঞ্জ [33, 126]) বাদ দিয়ে প্রিন্টযোগ্য এএসসিআইআই অক্ষর থাকবে
  • I / O নমনীয়। ইনপুটটি STDIN, যুক্তি বা ফাংশন প্যারামিটার হিসাবে নেওয়া যেতে পারে। স্ট্রিংয়ের পরিবর্তে অক্ষরের একটি তালিকা / অ্যারে / স্ট্রিম হতে পারে। আউটপুট স্ট্রিংয়ের পরিবর্তে অক্ষরের একটি তালিকা / অ্যারে / স্ট্রিমও হতে পারে; STDOUT এ মুদ্রিত হতে পারে; নিউলাইন-সীমাবদ্ধ স্ট্রিং হিসাবে ফিরে; প্রভৃতি

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

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

পরীক্ষার কেস:

Input: @
Output:
@

Input: test
Output:
test
t e s t
t  e  s  t
t   e   s   t
t  e  s  t
t e s t
test

Input: ?!
Output:
?!
? !
?!

Input: Spaceship
Output:
Spaceship
S p a c e s h i p
S  p  a  c  e  s  h  i  p
S   p   a   c   e   s   h   i   p
S    p    a    c    e    s    h    i    p
S     p     a     c     e     s     h     i     p
S      p      a      c      e      s      h      i      p
S       p       a       c       e       s       h       i       p
S        p        a        c        e        s        h        i        p
S       p       a       c       e       s       h       i       p
S      p      a      c      e      s      h      i      p
S     p     a     c     e     s     h     i     p
S    p    a    c    e    s    h    i    p
S   p   a   c   e   s   h   i   p
S  p  a  c  e  s  h  i  p
S p a c e s h i p
Spaceship

Input: 05AB1E
Output:
05AB1E
0 5 A B 1 E
0  5  A  B  1  E
0   5   A   B   1   E
0    5    A    B    1    E
0     5     A     B     1     E
0    5    A    B    1    E
0   5   A   B   1   E
0  5  A  B  1  E
0 5 A B 1 E
05AB1E

Input: )}/\
Output:
)}/\
) } / \
)  }  /  \
)   }   /   \
)  }  /  \
) } / \
)}/\

1
সব ঠিক জটলা পায় !!! স্পেসিপ !!!
ওয়েলওয়েস্ট

1
আমি জানতাম আমি যে আউটপুট স্বীকৃত। আমি ভালবাসি যে এই ধারণাটি এখনও চলছে।
কারসিজেনিকেট

2
টিএফডব্লু আপনি অস্পষ্টভাবে একটি প্রশ্নের কোনও প্যাটার্নটি চিনতে পারেন ಠ_ಠতবে এটি বুঝতে পারেন কারণ আপনি দুর্ঘটনাক্রমে এক বছর আগে এটি তৈরি করেছিলেন ಠ⌣ಠ
ম্যাজিক অক্টোপাস

1
@ ম্যাজিক অ্যাক্টোপাস ইউরন অনুপ্রেরণার জন্য ধন্যবাদ। ; ডি
কেভিন ক্রুইজসেন

3
@ কেভিন ক্রুইজসেন মূর্খ উক্তি রাখার জন্য ধন্যবাদ হা হা!
ম্যাজিক অক্টোপাস n

উত্তর:


11

জাপট , 8 6 বাইট

অক্ষরের অ্যারে হিসাবে ইনপুট নেয়, স্ট্রিংগুলির একটি অ্যারের আউটপুট দেয়।

£qYçÃê

চেষ্টা করে দেখুন


ব্যাখ্যা

£          :Map each element at (0-based) index Y
 q         :  Join input with
  Yç       :   Space repeated Y times
    Ã      :End Map
     ê     :Palindromise

আসল, 8 বাইট

আই / ও একটি স্ট্রিং। -Rপতাকা ব্যবহার করে । প্রতিটি লাইনের পিছনে স্থান অন্তর্ভুক্ত করে।

¬£múYÄÃê

চেষ্টা করে দেখুন

ব্যাখ্যা

             :Implicit input of string U
¬            :Split
 £           :Map each character at 0-based index Y
  m          :  Map original U
   ú         :    Right pad with spaces to length ...
    YÄ       :     Y+1
      Ã      :End map
       ê     :Palindromise
             :Implicitly join with newlines


1
গুরুতর প্রশ্ন: এই ধরণের ধাঁধার জন্য সমস্ত 1 থেকে 6 বাইট দীর্ঘ সমাধানের মাধ্যমে পুনরাবৃত্তভাবে অনুসন্ধান করা কি সম্ভব হবে?
ফিলিপ

2
@ ফিলিপ নং: 256 টিরও বেশি ** 6 = 281474976710656 (কমপক্ষে নিষ্পাপ) সংমিশ্রণ রয়েছে। এটি একটি পাসওয়ার্ড অনুমান করার মতো।
কিরিল বুলিগিন

3
@ কিরিলবুলগিন, জাপটে উপলভ্য অক্ষরগুলিকে 1 এবং 6 অক্ষরের মধ্যবর্তী একটি স্ট্রিংয়ের সাথে সংযুক্ত করার সম্ভাব্য 35 টি ট্রিলিয়ন (37,764,717,485,592) উপায় রয়েছে। আপনি যদি অন্য সমস্ত 1 বাইট অক্ষর অন্তর্ভুক্ত করেন যা স্ট্রিং লিটারেল বা সংকীর্ণ স্ট্রিংগুলিতে ব্যবহার করা যেতে পারে, তবে সেই সংখ্যাটি 276 ট্রিলিয়ন (276,024,445,697,280) এর বেশি হয়ে যায় । সুতরাং, না, সেগুলি তৈরি করতে একটি বট লিখে বৈধ জাপট প্রোগ্রামগুলি ফিল্টার করে তারপরে একটি (যদি উপস্থিত থাকে) আবিষ্কার করুন যা হাতের চ্যালেঞ্জের জন্য কাজ করে সম্ভবত এটি সম্ভব হবে না। এছাড়াও একটি বটকে আপনার জন্য গল্ফ করতে দেওয়ার মজাটা কোথায়?!
শেগি

6
@ শেগি: "একটি বটকে আপনার জন্য গল্ফ করতে দেওয়ার মজাটা কোথায়?!" আপনি যদি বটটি সত্যই, খুব সংক্ষিপ্ত করে তোলে?
ওডথিংকিং

11

আর , 105 99 85 84 79 বাইট

-6 কেভিন ক্রুইসেন এবং @ জিউসেপকে ধন্যবাদ

একটি রেজেক্স ভিত্তিক পদ্ধতিতে পরিবর্তন থেকে -14

-1 জিউজ্পে ধন্যবাদ

-ডিজইএমএলএলকে ধন্যবাদ 5

function(w,n=nchar(w)-1)write(trimws(Map(gsub,"",strrep(" ",n-abs(n:-n)),w)),1)

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


স্থানটি সরিয়ে আপনি 1 বাইট গল্ফ করতে পারেন in(r<-
কেভিন ক্রুইজসেন

1
এবং আপনি কেবল sএকবার ব্যবহার করেন যাতে আপনি কেবল এটি writeসরাসরি যুক্তি হিসাবে ব্যবহার করতে পারেন ; আপনাকে 99 বাইটে
জিউসেপে

1
এটি কি 1বরং একটি ""ভিতরে হওয়া উচিত write? আমি আপনার ব্যবহার খনন করছি Map!
জিউসেপে


1
আমি নিশ্চিত হয়েছি যে আমি এই collapseযুক্তি দিয়ে pasteএটিকে মারতে পারি তবে এটি ঠিক হচ্ছে না ...
জেডিএল

6

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

অক্ষরের অ্যারে হিসাবে ইনপুট নেয়।

f=(s,p=i='',o=s.join(p)+`
`)=>s[++i]?o+f(s,p+' ')+o:o

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



6

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

Eθ⪫θ× κ‖O↓

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

Eθ          Map over characters of input string
  ⪫θ        Join characters of input string using
    ×       a literal space repeated 
      κ     current index number of times
            Implicitly print each result on its own line
       ‖O↓  Reflect vertically with overlap

কাঠকয়লা ভালো জিনিস প্রতিফলিত না [করতে ]- বা অন্য পৃথক কমান্ড হল?
যাদু অক্টোপাস n

@ ম্যাজিকঅ্যাক্টোপাসউর্ন আপনি প্রতিবিম্বটি রূপান্তর করতে চান তবে আলাদা আলাদা কমান্ড রয়েছে। উদাহরণস্বরূপ কোডগল্ফ.স্ট্যাকেক্সেঞ্জারওয়েটা /a/127164 দেখুন ।
নিল

আমি ভেবেছিলাম আমি এটি আগে প্রতিফলিত দেখেছি, তবে নিশ্চিত ছিল না। ঝরঝরে!
ম্যাজিক অক্টোপাস উরান

6

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

┐² ×*]──

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

7 বাইট সংস্করণ এই চ্যালেঞ্জ জন্য খুব ভাল ছিল ..


আমি আপনার 7 বাইট সংস্করণ পছন্দ করি। আপনি কীভাবে এটি কাজ করে তা বোঝাতে রাজি হবেন? কোনটি অপারেটর দুই ওভারল্যাপ /একটি মধ্যে গুলি X?
কেয়া

3
@ কেয়া এটি সর্বশেষ চরিত্র - - উল্লম্ব প্যালেন্ড্রোমাইজ করুন। ক্যানভাসের প্যালিনড্রোমাইজেশন দুর্দান্ত জিনিসগুলি করে । ওভারল্যাপিং অংশটির নিজস্ব চরিত্রও রয়েছে
ডিজাইমা

6

পাইথন 2 , 72 70 68 66 65 বাইট

-2 বাইট কেভিন ক্রুইজসেন
-3 বাইট ধন্যবাদ ওভেসকে ধন্যবাদ

w=input();c=s=-1
while c:print(' '*~c).join(w);s*=w[:c]>'';c+=s|1

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


c==len(w)-11 বাইট দিয়ে গল্ফ করা যায় c+2>len(w)। সম্পাদনা: আপনার নতুন 70-বাইট সংস্করণে, 0<cহতে পারে c
কেভিন ক্রুইজসেন

6

05 এ বি 1 ই , 10 9 বাইট

আদনানকে ধন্যবাদ 1 বাইট সংরক্ষণ করা

εINð×ý}û»

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

ব্যাখ্যা

ε            # apply to each in input
 I           # push the input
  Nð×        # push <index> spaces
     ý       # merge the input on the spaces
      }      # end loop
       û     # palendromize
        »    # join on newlines

আপনি ড্রপ করতে পারেন S। ইনপুট নমনীয়, সুতরাং তালিকা হিসাবে ইনপুট করা অনুমোদিত।
কেভিন ক্রুইজসেন 14

1
@ কেভিন ক্রুজসেন: আপনার প্রথম সংস্করণটি উত্তরাধিকার হিসাবে 9 বাইট, যদিও »বাদ দেওয়া যেতে পারে।
এমিগিনা

1
ইতিমধ্যে 9 বাইটে উত্তরাধিকারে কাজ করে আপনি যদি »লুপটি vকোনও মানচিত্রে সরিয়ে থাকেন এবং পরিবর্তন করেন ε
কেভিন ক্রুইজসেন

1
উত্তর পোস্ট । এবং বর্তমানে জাপট আমাদের ভয় করছে by বাইট দিয়ে with অথবা আপনি কি 05AB1E (এলিক্সির পুনর্লিখন) এবং 05AB1E (পাইথনের উত্তরাধিকার) এর মধ্যে সবচেয়ে সংক্ষিপ্ত বলতে চান? :)
কেভিন ক্রুইজসেন

2
না εINð×ý}û»আরো কাজ করে?
আদনান


4

জাপট , 9 8 বাইট

@ শেগি থেকে -1 বাইট

ÊƬqXîÃê

ÊƬqXîÃê        Full program, implicity input U
ÊÆ              Rage from 0 to U length and map
  ¬             split U at ""
   qXîà     join U using " " times range current value
        ê       horizontal mirror

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


dang; দেখে মনে হচ্ছে আপনি আবার আমাকে নিনজ করেছেন! আপনি আমাকে আমার মুছতে চাইলে লেমে জানো।
শেগি

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

1
SpX-> 1 বাইট সংরক্ষণের জন্য।
শেগি

4

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

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

0..($x=($a=$args).count-1)+$x..0|gu|%{$a-join(' '*$_)}

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

স্প্ল্যাটিংয়ের মাধ্যমে ইনপুট নেয়, যা টিআইও-তে প্রতিটি অক্ষরের জন্য পৃথক কমান্ড-লাইন আর্গুমেন্ট হিসাবে প্রকাশিত হয়।

আমরা প্রথমে $a=$argsইনপুট আর্গুমেন্ট হিসাবে সেট করি । তারপরে আমরা সেই অ্যারের $xসমান করে দিয়েছি । তারপরে স্পেসশিপটি তৈরি করতে আমাদের চিঠিগুলি দিয়ে লুপ করা দরকার। যে থেকে একটি সীমার গঠন করে সম্পন্ন করার , তারপর ফিরে নিচে , তারপর ব্যবহার শুধু উপযুক্ত পরিসর উঠিয়ে ফেলা।.count-10$x$x0Get-Unique

প্রতিটি পুনরাবৃত্তি, আমরা আমাদের ইনপুট আর্গুমেন্ট এবং -joinসেগুলি ফাঁকের সাথে সম্পর্কিত সংখ্যার সাথে একত্রে নিই । এই স্ট্রিংগুলির প্রত্যেকটি পাইপলাইনে রেখে দেওয়া হয় Write-Outputএবং প্রোগ্রামটি শেষ হলে একটি অন্তর্নিহিত আমাদের বিনামূল্যে জন্য নিউলাইনগুলি দেয়।


এটি ব্যবহার করে দেখুন:0..($x=($a=$args).count-1)+$x..0|gu|%{$a-join(' '*$_)}
mazzy

1
@ মমজি কী ... পরিসীমাতে এমনভাবে কীভাবে Get-Uniqueকাজ করে ? এটা পাগলামি! ধন্যবাদ!
অ্যাডমবর্কবার্ক

4

05 এ বি 1 ই (উত্তরাধিকার) , 9 বাইট

εINúíJ}û»

অক্ষরের তালিকা হিসাবে ইনপুট।

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

ব্যাখ্যা:

ε     }    # Map each character in the input to:
 I         #  Take the input
  Nú       #  Prepend each with the 0-indexed amount of spaces
           #   i.e. ["t","e","s","t"] & 3 → ["   t","   e","   s","   t"]
    í      #  Reverse each item
           #   i.e. ["   t","   e","   s","   t"] → ["t   ","e   ","s   ","t   "]
     J     #  Join them together to a single string
           #   i.e. ["t   ","e   ","s   ","t   "] → "t   e   s   t   "
       û»  # Palindromize the list, and join by newlines
           #  i.e. ["test","t e s t ","t  e  s  t  ","t   e   s   t   "]
           #   → "test\nt e s t \nt  e  s  t  \nt   e   s   t   \nt  e  s  t  \nt e s t \ntest"

1
Oooooo, এছাড়াও এই বৈধ কারণ আয়নার স্থিতিবিন্যাস পরিবর্তন / যখন প্রতিফলিত \ করার সঙ্গে একই [, ]এবং (, )। কাঠকয়লা ধরতেও এই কেসগুলি যুক্ত করতে চাই। (অন্যান্য মন্তব্যগুলি এমিগনার উত্তরে সরিয়ে নিয়েছে, কারণ তিনি যে উত্তরটি আমি প্রথমে মন্তব্য করেছিলেন)
ম্যাজিক অক্টোপাস উরন

@ ম্যাজিক অ্যাক্টোপাস ইউরন আমাকে জানাতে ধন্যবাদ। û»পরিবর্তে ব্যবহার করে এটি স্থির করুন .∊
কেভিন ক্রুইজসেন

4

হাস্কেল , 60 59 বাইট

(init<>reverse).(scanl(?)<*>tail)
a?_=do u<-a;u:[' '|' '<u]

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

ব্যাখ্যা

স্ট্রিংয়ের জন্য (উদা। "abc") আমরা প্রথমে আবেদন করি

scanl (?) <*> tail

যা হিসাবে একই

\str -> scanl (?) str (tail str)

এটি বারবার প্রয়োগ হয় (?)( যতক্ষণ না অনেকগুলি স্ট্রিং থাকে যতক্ষণ না পর্যন্ত [33 ..] সীমাতে প্রতিটি অক্ষরের একটি স্পেস যোগ করে )strstr :["abc","a b c ", "a b c "]

এখন আমাদের কেবল তার বিপরীত পাল্টা অংশটি দিয়ে ফলাফলটি (বিয়োগের শেষ উপাদানটি) গড়াতে হবে:

init<>reverse

4

এমএটিএল , 25 22 13 বাইট

zZv"Gtz@he!1e

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

লুইস মেন্ডোকে ধন্যবাদ 5 বাইট গল্ফ প্রস্তাব , যা পরে আমাকে আরও 4 বাইট ছাঁটাই করতে অনুপ্রাণিত করেছিল!

উদাহরণ, ইনপুট সহ ব্যাখ্যা 'abc':

         # Implicit input, 'abc'
z        # find number of nonzero elements (length of string)
         # stack: [3]
Zv       # symmetric range
         # stack: [[1 2 3 2 1]]
"        # begin for loop, iterating over [1 2 3 2 1] as the loop indices
G        # push input
         # stack: ['abc']
tz       # dup and push length
         # stack: ['abc', 3]
@        # push loop index, i (for example, 2)
         # stack: ['abc', 3, 2]
h        # horizontally concatenate
         # stack: ['abc', [3, 2]]
e!       # reshape to matrix of 3 rows and i columns, padding with spaces, and transpose
         # stack: [['abc';'   ';'   ']]
1e       # reshape to matrix of 1 row, leaving last value on stack
         # stack: ['a  b  c  ']
         # implicit end of for loop
         # implicit end of program, display stack contents

3

জেলি , 9 বাইট

jⱮLḶ⁶ẋƲŒḄ

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

লাইনের একটি তালিকা ফেরত দেয়; টিআইওর উপর আউটপুট প্রাকটিকৃত।


একটি কিছুটা ভিন্ন 9: ,€⁶$LСŒḄ। অন্যান্য, আরও অনুরূপ, 9 এর: J’⁶ẋŒḄɓjⱮএবং J’⁶ẋŒḄjⱮ@(আমি আরও খাটো খুঁজছিলাম তবে এখনও কোনও আনন্দের নয়)
জোনাথন অ্যালান

@ জোনাথান অ্যালান আমি নিশ্চিত যে এটি সর্বোত্তম, আমি মনে করি না লেখার কোনও ছোট উপায় আছে LḶ⁶ẋবা আছে ŒḄ। তবে আপনি যদি কোনও সেভ সন্ধান করতে পারেন তবে আমাকে পিং করুন। :-)
এরিক দি আউটগলফার

এটি সম্পর্কে কিছুটা চিন্তা করা আমার ,€⁶$LСŒḄবৈধ হতে পারে না কারণ এটি পাগল বাসা বাঁধে তাই Yএকটি সম্পূর্ণ প্রোগ্রামের প্রয়োজন হতে পারে ।
জোনাথন অ্যালান

@ জোনাথন অ্যালান হ্যাঁ, অবশ্যই তা নয়। ['I', 'f', [[' '], 't', 'h', [['i']], 's'], ' ', 'i', ['s', ' '], 'a', [[' ', 's', 't'], 'r', ['i', 'n', 'g'], ' '], 'w', ['e', ' ', 'a', 'r', 'e'], ' ', 'd', 'o', ['o'], 'm', [[[[['e']]]]], [[[['d']]]], '!']কমপক্ষে আমি 05AB1E ছাড়িয়ে গিয়েছি ...
এরিক দি আউটগলফার

আমি বললাম আমি 05AB1E ছাড়িয়েছি, তাই না? বাহ, আর নেই। : /
এরিক আউটগল্ফার

3

পাইথ , 12 বাইট

শুধু আমার বাধ্যতামূলক পাইথ জমা দেওয়া। আমি এটি নিয়ে বেশ গর্বিত তাই সম্ভবত একটি ব্যাখ্যা সম্ভবত শীঘ্রই আসবে।

+P_=jRQ*L;_U

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

+P_=jRQ_.e*d

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


3

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

Ç·9ƒù▌╘Ä┘e

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

প্রতিটি লাইনে সাদা রঙের স্থান অনুসরণ করে আউটপুট।

ব্যাখ্যা:

%R|pmx{]n(m Full program, unpacked, implicit input
%           Length of input
 R          1-based range
  |p        Palindromize
    m       Map:
     x{   m   Map over characters of input:
       ]        Character -> string
        n(      Right-pad to length given by outer map value
              Implicit flatten and output

3

জাভা (জেডিকে 10) , 115 বাইট

s->{for(int l=s.length(),i=-l;++i<l;)System.out.printf(s.replaceAll(".","%-"+(i<0?l+i:l-i)+"s")+"%n",s.split(""));}

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


1
l-Math.abs(i)i<0?l+i:l-i-২ বাইটে গল্ফ করা যায় ।
কেভিন ক্রুইজসেন

ধন্যবাদ কেভিন ক্রুজসেন! :)
অলিভিয়ার গ্রাগোয়ার

এটা হতে পারে l-i<0?-i:i?
কুইন্টেক

@ thecoder16 আপনার প্রথম বন্ধনী প্রয়োজন: l-(i<0?-i:i)(12 বাইট)।
জোনাথন ফ্রেচ

3

কে (ওকে) , 25 24 বাইট

সমাধান:

,/'(1+a,1_|a:!#x)$\:+,x:

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

ব্যাখ্যা:

আমার K4 সমাধানের বন্দর :

,/'(1+a,1_|a:!#x)$\:+,x: / the solution
                      x: / save input as x
                     ,   / enlist
                    +    / flip
                 $\:     / pad ($) right by each-left (\:)
   (            )        / do this together
              #x         / count length of input,           e.g. 3
             !           / range 0..length,                 e.g. 0 1 2
           a:            / save as a
          |              / reverse it,                      e.g. 2 1 0
        1_               / drop first,                      e.g. 1 0
      a,                 / join to a,                       e.g. 0 1 2 1 0
    1+                   / add 1,                           e.g. 1 2 3 2 1
,/'                      / flatten (,/) each (')

নোট:

  • -1 বাইট এনএনজি ধন্যবাদ

1
,:'-> +,
ngn


2

পিএইচপি, 88 89 বাইট

for(;++$i<2*$e=count($a=str_split($argn));)echo join(str_pad("",~-$e-abs($i-$e)),$a),"\n";

পিএইচপি 5 বা তার পরে জন্য প্রয়োজন str_split। পাইপ হিসাবে চালনা করুন-nR বা এটি অনলাইনে চেষ্টা করুন


আপনার চেষ্টা-অনলাইনে এই লিঙ্কটি ভীত হয়ে ভুল আউটপুট দেয়। আপনার আউটপুটে সমস্ত রেখাগুলিতে কেবল অক্ষরগুলির (বা optionচ্ছিকভাবে পিছনের) পরিবর্তে নেতৃস্থানীয় স্পেস রয়েছে। প্রথম অক্ষরটি সমস্ত আউটপুটে একই কলামে থাকা উচিত।
কেভিন ক্রুইজসেন

1
@ কেভিন ক্রুজসেন ডিপেনস্ট যথেষ্ট পরিমাণে আউটপুট দেখুন না। সংশোধন করা হয়েছে। (যদিও ইমো আমার আগের আউটপুটটি আরও রকেটের মতো দেখাচ্ছে) ;-)
টাইটাস

এটা আমার কাছে তীরের মতো লাগছিল kind : ডি তবে এটি এখন স্থির হয়েছে।
কেভিন ক্রুইজসেন

যদি আপনি instead n এর পরিবর্তে একটি আসল নিউলাইন স্থাপন করেন তবে আপনি একটি বাইট সংরক্ষণ করুন :)
মার্টিজন

@ মার্তিজন আমি আসলে এটির জন্য কেবল একটি বাইট গণনা করেছি ... কোডটি এখানে পেস্ট করার সময় এটি প্রতিস্থাপন করতে ভুলে গিয়েছিলাম।
তিতাস

2

K4 , 23 বাইট

সমাধান:

,/'(1+a,1_|a:!#x)$\:$x:

উদাহরণ:

q)k),/'(1+a,1_|a:!#x)$\:$x:"Spaceship"
"Spaceship"
"S p a c e s h i p "
"S  p  a  c  e  s  h  i  p  "
"S   p   a   c   e   s   h   i   p   "
"S    p    a    c    e    s    h    i    p    "
"S     p     a     c     e     s     h     i     p     "
"S      p      a      c      e      s      h      i      p      "
"S       p       a       c       e       s       h       i       p       "
"S        p        a        c        e        s        h        i        p        "
"S       p       a       c       e       s       h       i       p       "
"S      p      a      c      e      s      h      i      p      "
"S     p     a     c     e     s     h     i     p     "
"S    p    a    c    e    s    h    i    p    "
"S   p   a   c   e   s   h   i   p   "
"S  p  a  c  e  s  h  i  p  "
"S p a c e s h i p "
"Spaceship"

ব্যাখ্যা:

প্রতিটি লাইনে হোয়াইটস্পেস অনুসরণ করে।

,/'(1+a,1_|a:!#x)$\:$x: / the solution
                     x: / save input as x,                 e.g. "abc"
                    $   / string,                          e.g. (,"a";,"b";,"c")
                 $\:    / pad ($) right by each-left (\:)
   (            )       / do this together
              #x        / count length of input,           e.g. 3
             !          / range 0..length,                 e.g. 0 1 2
           a:           / save as a
          |             / reverse it,                      e.g. 2 1 0
        1_              / drop first,                      e.g. 1 0
      a,                / join to a,                       e.g. 0 1 2 1 0
    1+                  / add 1,                           e.g. 1 2 3 2 1
,/'                     / flatten each

2

সি #, 113 105 98 বাইট

s=>{for(int l=s.Length,i=-l;++i<l;)WriteLine(Join("",s.Select(c=>$"{c}".PadRight(i<0?l+i:l-i))));}

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


হাই! বর্তমানে আপনার উত্তরটি কোনও ফাংশন বা সম্পূর্ণ প্রোগ্রামের পরিবর্তে একটি স্নিপেট। এটিকে ল্যাম্বদা-ফাংশন হিসাবে তৈরি করার s=>{আগে এবং }পরে যুক্ত করে সস্তার সাথে সংশোধন করা যেতে পারে। এছাড়াও, গল্ফের কাছে একটি জিনিস ফর-লুপের চারপাশে বন্ধনীগুলি সরিয়ে দিচ্ছে। এটি অনলাইনে চেষ্টা করুন।
কেভিন ক্রুইজসেন

ধন্যবাদ কেভিন ক্রুজসেন! পোস্ট করার আগে এটি ঠিক করতে ভুলে গেছেন ...
রবিআইআইআই

2

স্কালা , 82 বাইট

for(i<-(0 to a.size)union(-a.size to 0))println(a.map(_+" "*Math.abs(i)).mkString)

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

স্কালার শর্টকাট রয়েছে যা এখানে আমাকে সহায়তা করছে এবং এটি বেশ পঠনযোগ্য! স্কেলা চেষ্টা করুন


হাই, পিপিসিজিতে আপনাকে স্বাগতম! যদিও এটি একটি দুর্দান্ত উত্তর, আমি ভয় করি দুটি জিনিস কিছুটা ভুল। সর্বাধিক স্পেস সহ লাইনটি দু'বার পরিবর্তে একবার মাঝখানে একবার আউটপুট হওয়া উচিত। এবং বর্তমানে আপনি থেকে মুদ্রণ 0করার জন্য lengthস্পেস পরিমাণ, পরিবর্তে 0করার length-1স্পেস পরিমাণ। আমি স্ক্যালাকে খুব ভাল জানি না, তবে মনে হচ্ছে আপনি +4 বাইট (মোট 86 বাইট) এর সাথে দুটি বিষয়ই ঠিক করতে পারেন: for(i<-(0 to a.size-1)union(-a.size+2 to 0))println(a.map(_+" "*Math.abs(i)).mkString)আবার আপনাকে স্বাগতম, এবং আপনার থাকার উপভোগ করুন! :)
কেভিন ক্রুইজসেন

2

ওরাকল এসকিউএল, 115 বাইট

গল্ফের ভাষা নয় তবে ...

SELECT TRIM(REGEXP_REPLACE(v,'(.)',LPAD('\1',1+LENGTH(v)-ABS(LEVEL-LENGTH(v)))))FROM t CONNECT BY LEVEL<2*LENGTH(v)

ধরে নিচ্ছি মানটি vসারণীর কলামে রয়েছে t:

এসকিউএল ফিডল

ওরাকল 11 জি আর 2 স্কিমা সেটআপ :

CREATE TABLE t ( v ) AS
  SELECT 'test' FROM DUAL;

প্রশ্ন 1 :

SELECT TRIM(REGEXP_REPLACE(v,'(.)',LPAD('\1',1+LENGTH(v)-ABS(LEVEL-LENGTH(v)))))
FROM   t
CONNECT BY LEVEL<2*LENGTH(v)

ফলাফল :

(এসকিউএলফিডাল কিছু কারণে কলামে ডান-সংযুক্ত মানগুলি মুদ্রণ করে ... কোনও শীর্ষস্থানীয় স্পেস নেই)

| TRIM(REGEXP_REPLACE(V,'(.)',LPAD('\1',1+LENGTH(V)-ABS(LEVEL-LENGTH(V))))) |
|---------------------------------------------------------------------------|
|                                                                      test |
|                                                                   t e s t |
|                                                                t  e  s  t |
|                                                             t   e   s   t |
|                                                                t  e  s  t |
|                                                                   t e s t |
|                                                                      test |

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

1
@ কেভিনিক্রুজসেন "রান এসকিউএল" বোতামের পরবর্তী ডাউন তীরের উপর ক্লিক করুন এবং আউটপুটটিকে "প্লেইনেক্সট আউটপুট" বা "মার্কডাউন আউটপুট" এ পরিবর্তন করুন এবং আপনি স্পেসগুলি দেখতে পাবেন।
এমটি0

ধন্যবাদ। এটা সত্যিই দেখতে ভাল যে ক্ষেত্রে!
কেভিন ক্রুইজসেন

2

8086 মেশিন কোড, 56 53 বাইট

00000000  bf 35 01 57 ba 01 00 52  be 82 00 b3 ff ac 59 51  |.5.W...R......YQ|
00000010  aa 3c 0d 74 07 b0 20 e2  f7 43 eb f1 b0 0a aa 59  |.<.t.. ..C.....Y|
00000020  00 d1 e3 08 38 cb d6 08  c2 51 eb dc c6 05 24 5a  |....8....Q....$Z|
00000030  b4 09 cd 21 c3                                    |...!.|
00000035

জমা দেওয়া থেকে:

org 0x100
use16
        mov di, buffer
        push di
        mov dx, 1
        push dx
nextl:  mov si, 0x82
        mov bl, -1
nextc:  lodsb
        pop cx
        push cx
stor:   stosb
        cmp al, 0x0d
        je cr
        mov al, ' '
        loop stor
        inc bx
        jmp nextc
cr:     mov al, 0x0a
        stosb
        pop cx
        add cl, dl
        jcxz done
        cmp bl, cl
        salc
        or dl, al
        push cx
        jmp nextl
done:   mov [di], byte '$'
        pop dx
        mov ah, 0x09
        int 0x21
        ret
buffer:

পরীক্ষা ক্ষেত্রে:

স্ক্রিনশট


হাই! আমার ধারণা 8080 মেশিন কোডের জন্য কোনও অনলাইন সংকলিত নেই, তবে আপনি কি পরীক্ষার কোনও ক্ষেত্রে আউটপুটটির একটি স্ক্রিনশট যুক্ত করতে পারেন? তারপরে আমি সবকিছু ঠিক আছে কিনা তা যাচাই করতে পারি। :)
কেভিন ক্রুইজসেন

সম্পন্ন. আরও একবার বাইট বন্ধ করে
রেখেছেন

স্ক্রিনশটের জন্য ধন্যবাদ! দুর্ভাগ্যক্রমে আউটপুটে একটি ছোট ভুল আছে। মাঝের রেখায় এখন lengthফাঁকির পরিমাণ রয়েছে এবং মোট 9 টি লাইন রয়েছে তবে মাঝের লাইনের length-1ফাঁকির পরিমাণ থাকতে হবে এবং এর পরিবর্তে মোট 7 লাইন থাকা উচিত (4-অক্ষরের শব্দের জন্য 'টেস্ট'`) ..: (আমি আশা করি এটি ঠিক করার জন্য
বাইটসের

1
ওহ বুজছি. এটি এখন ঠিক করা হয়েছে, এমনকি আমি এটি আরও একটি বাইট দ্বারা হ্রাস করেছি।
ব্যবহারকারী5434231

2

হাস্কেল, 64 60 59 বাইট

(""#)
a#s|l<-(:a)=<<s,w<-' ':a=l:[x|w<(' '<$s),x<-w#s++[l]]

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

a#s                         -- take a string of spaces 'a' and the input string 's'
 |l<-(:a)=<<s               -- let 'l' be the current line, i.e. the spaces in 'a'
                            -- appended to each char in 's'
  w<-' ':a                  -- let 'w' be 'a' with an additional space   
 =l                         -- return that 'l'
   :[   |w<(' '<$s)   ]     -- and, if 'w' is shorter than 's',
     x  ,x<-w#s++[l]        -- followed by a recursive call with 'w' 
                            -- and by another copy of 'l'

(""#)                       -- start with an empty 'a'

2

বাশ , 115 , 109 , 105 , 100 , 97 , 96 , 92 , 91 , 90 বাইট

-5 & -3 কেভিন ক্রুইসেনকে ধন্যবাদ

read s;for((c=f=1;f;c-=2*(f>=${#s}),f+=c))
{ printf '%-'${f}'.c' `grep -o .<<<"$s"`
echo
}

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


নোট যে যেহেতু \শেল পালাবার গৃহস্থালির কাজ হয়, পরীক্ষা ক্ষেত্রে )}/\একটি অতিরিক্ত সঙ্গে লেখা উচিত \ভালো: )}/\\


হাই! পরীক্ষার কেসগুলির সাথে টিআইও-লিঙ্ক যুক্ত করা কি সম্ভব ? এছাড়াও, আমি বাশকে খুব ভাল জানি না, তবে পাইথনের পরে inএবং printfপছন্দ মতো স্থানগুলি সরিয়ে নেওয়া কি সম্ভব ?
কেভিন ক্রুইজসেন

1
কেভিন ক্রুইজসেন, ধন্যবাদ, সংশোধিত উত্তর দেখুন। আমি তবে টিআইও-লিঙ্কে নতুন এবং আমি একাধিক পরীক্ষার কেস কীভাবে ব্যবহার করব তা নিশ্চিত নই, যেহেতু এই bashকোডটি কেবল একটি স্ট্রিং ইনপুট করে ( অর্থাত্ কেবল একটি লাইন)। পরীক্ষার কেসগুলি সমস্ত কাজ করে তবে এটি )}/\ অবশ্যই এককভাবে উদ্ধৃত হওয়া উচিত <<< ')}/\' read s; ...etc. । পরে inএবং পরে ফাঁকা স্থান printfপ্রয়োজন।
এজিসি

ধন্যবাদ। এবং টিআইওর জন্য একটি একক পরীক্ষার কেস ভাল। এটি প্রত্যাশা অনুযায়ী সবকিছু কাজ করছে কিনা তা যাচাই করা মূলত যা বাস্তবে কেস বলে মনে হচ্ছে। আমার কাছ থেকে +1 :)
কেভিন ক্রুইজসেন

1
আপনার নতুন সংস্করণে আপনি আরও 5 টি বাইটের মতো গল্ফ করতে পারেন । পরে forএবং পরে স্থানগুলি doসরানো যেতে পারে। f=1থেকে পরিবর্তন করা যেতে পারে c=f=1। এবং f=f+cহতে পারে f+=c
কেভিন ক্রুইজসেন 14

1
ওহ, গল্ফ করার জন্য আরও একটি ছোট জিনিস। বাশে এটি সম্ভব কিনা তা নিশ্চিত ছিল না তবে স্পষ্টতই এটি (টিআইও-লিঙ্কটি কার্যকর হবার আরও একটি কারণ;)) ফর-লুপে পরিবর্তনের f!=0মাধ্যমে f। ঠিক জাভা 0স্ক্রিপ্ট এবং পাইথনের মতোই মিথ্যা এবং বাশ-এ সমস্ত ধনাত্মক / negativeণাত্মক পূর্ণসংখ্যা আপাত সত্য is
কেভিন ক্রুইজসেন

2

পার্ল 6 , 43 বাইট

{(0....comb-1...0)>>.&{join ' 'x$^a,.comb}}

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

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

ব্যাখ্যা:

 {                                         }  # Anonymous code block
  (0....comb-1...0) # A list from
   0                  # 0
    ...               # to
       .comb-1        # the length of the input string -1
              ...     # back to
                 0    # 0
                   >>.&{                  }  # Map each number to
                        join        ,.comb   # Join the list of characters
                             ' 'x$^a         # With the number of spaces

2

সি (জিসিসি) , 131 129 111 বাইট

i;x;f(k,j)char*k,*j;{x=strlen(k)-1;for(i=0;i<x-~x;i+=puts(""))for(j=k;*j;)printf("%c%*s",*j++,i<x?i:2*x-i,"");}

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

-20 বাইট সিলিংক্যাট ধন্যবাদ !

#import<string.h>
i;x;f(k,j)char*k,*j;{x=strlen(k)-1;for(i=0;i<x-~x;i+=puts(""))for(j=k;*j;)printf("%c%*s",*j++,i<x?i:2*x-i,"");}

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

অথবা, দৈর্ঘ্যটি প্যারামিটার হিসাবে গ্রহণ করা যেতে পারে:

সি (জিসিসি), 105 102 বাইট

-1 বাইট ধন্যবাদ সিলিংক্যাটকে!

i;x;f(k,x,j)char*k,*j;{for(i=!x--;i<x-~x;i+=puts(""))for(j=k;*j;)printf("%c%*s",*j++,i<x?i:2*x-i,"");}

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


নিবন্ধন করুন
কনর ও'ব্রায়েন

1
আপনার ১০২ বাইট লম্বা গল্ফে, আমি মনে করি যে বিশ্বব্যাপী xছায়া গোছানো হয়েছে এবং এভাবে অপ্রয়োজনীয়ভাবে ঘোষণা করা হয়েছে।
জোনাথন ফ্রেচ

2

পিএইচপি, 148 146 143 141 বাইট

function s($s){for(;$i<strlen($s);++$i)f($i,$s);for(--$i;--$i>=0;)f($i,$s);}function f($i,$s){echo chunk_split($s,1,str_repeat(' ',$i))."
";}

আপনি এটি পরীক্ষা করতে পারেন:

<?php
error_reporting(0);

$s = 1234567890;
function s($s){for(;$i<strlen($s);++$i)f($i,$s);for(--$i;--$i>=0;)f($i,$s);}function f($i,$s){echo chunk_split($s,1,str_repeat(' ',$i))."
";}

আউটপুট

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         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 2 3 4 5 6 7 8 9 0 
1234567890

স্যান্ডবক্স

প্রসারিত সংস্করণ

 function s($s){
    //loop upwards 0-10
    for(;$i<strlen($s);++$i) f($i,$s);
     //decrement so it's odd, from 9 loop downwards to 0
    for(--$i;--$i>=0;)f($i,$s);
 }
 //2nd function to save space
 function f($i,$s){
     //chunk it, split 1 char, insert $i number of spaces
     echo chunk_split($s,1,str_repeat(' ',$i))."
";}

2, 92 বাইট চেষ্টা করুন

টিটাসের উত্তর দেখার পরে আমি আমার এটিকে কমিয়ে দিয়েছি:

for(;++$i<2*$e=strlen($s=$argn);)echo chunk_split($s,1,str_repeat(' ',~-$e-abs($i-$e)))."
";

আমি 2 এর পরিবর্তে 1 টি লুপ ব্যবহার করার উপায়টি ভাবার চেষ্টা করছিলাম ... বিশ্বাস করুন বা না করুন, আমি for"রিয়েল" কোডে লুপটি প্রায় কখনও ব্যবহার করি না । এটি ~বিটওয়াইস নয়, আমি মিস করছি ...

এটি একটি ছোট্ট দীর্ঘ দীর্ঘস্থায়ী 92তাই আমার এত খারাপ লাগছে না। তবে আমি এটিকে যাইহোক দ্বিতীয় প্রচেষ্টা হিসাবে রাখব।

$argn কমান্ড লাইন থেকে ইনপুট হয়

-NR দিয়ে পাইপ হিসাবে চালান বা এটি অনলাইনে চেষ্টা করুন।

স্যান্ডবক্স


আমার কাছে মনে হয় আপনার fঅনামী নামকরণের পরিবর্তে একটি নামকৃত ফাংশনটি ব্যবহার করে $f- আপনার প্রথম সংস্করণটি 4 বাইট সংক্ষিপ্ত হবে - function f(2 বাইট বেশি $f=function(সাশ্রয় করে এবং আপনি প্রতিবার f(...)পরিবর্তে যখন কল করবেন তখন আপনি অন্য বাইট সংরক্ষণ করবেন $f(...)। বিকল্পভাবে, আপনি এটি ক্যাপচার করতে পারে$s , 2 বাইট সংরক্ষণের - ($i)use($s)এটি 4 বাইটের চেয়ে দীর্ঘ হয় ($i,$s)তবে আপনি প্রতিটি কলের $f($i)পরিবর্তে 3 বাইট সংরক্ষণ করেন $f($s,$i); জেএস-এর মতো স্বয়ংক্রিয় ক্যাপচারযুক্ত ভাষাগুলিতে এটি প্রায়শই একটি व्यवहार्य সাশ্রয় হয়, কারণ আপনি useবিবৃতিটির জরিমানা পরিশোধ করেন না ।
আইএমএসওপি

আমি সাহায্যের প্রশংসা করি, আমি গল্ফ কোড করতে বেশ নতুন এবং সত্যিই এতটা করি না, যদিও নিয়মিত এসও পৃষ্ঠাগুলিতে বিরক্ত হয় কেউ। আমি ব্যবহার সম্পর্কে ভেবেছিলাম useতবে এটি দীর্ঘায়িত বোধ করে, এই বোধটি $iগতিশীল করার জন্য, এটি রেফারেন্স দিয়ে পাস করতে হবে। সুতরাং এটি হতে হবে use(&$i)এবং $iরেফারেন্স দ্বারা পাস করার আগে এটি সংজ্ঞায়িত করতে হবে $f। যার অর্থ এটি প্যারেন্ট ফাংশনে সেট করা বা অন্য কোনও আগে। ফাংশনটির জন্য এটি হতে পারে function s($s,$i)এবং কেবল জানেন যে এটি দিয়ে ডাকতে হবে s($s,0) তবে এটি কুৎসিত বলে মনে হচ্ছে এবং এটি চারপাশে রয়েছে11 bytes, use(&$i),$i
আর্টিস্টিক ফিনিক্স

আমরা ব্যবহার করতে পারে $s যদিও এবং এটিকে \nসত্যিকারের লাইনে ফিরে যেতে পারি। এটি 143 শেষ লাইনের থেকে 2 এ এবং ব্যবহারের জন্য 1
আর্টিস্টিকফিনিক্স

হ্যাঁ, আমি এমনকি ব্যবহারে putting i লাগানো বিবেচনাও করি নি, কারণ "প্রাকৃতিক" ক্যাপচারটি অনুভূত হয়েছিল তবে নেট সংরক্ষণের গণনা করা এটি সর্বদা মূল্যবান। তবে, আপনি এখনও fবন্ধের পরিবর্তে নামকরণের কার্যকারিতা ঘোষণা করে 2 বাইট সংরক্ষণ করতে পারবেন :function s($s){for(;$i<strlen($s);++$i)f($i,$s);for(--$i;--$i>=0;)f($i,$s);}function f($i,$s){echo chunk_split($s,1,str_repeat(' ',$i))." ";} এই মেটা পোস্ট অনুসারে এর মতো অতিরিক্ত ফাংশন অনুমোদিত: কোডগলফ.মেটা.স্ট্যাকেক্সেক্সঞ্জ
প্রশ্নগুলি

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