পাঠ্যের একটি বর্গ


29

চ্যালেঞ্জ

একটি স্ট্রিং দেওয়া হয়েছে, বর্গক্ষেত্রের আকারে পাঠ্য আউটপুট করুন।

আপনি ধরে নিতে পারেন যে পাঠ্যটি সর্বদা একটি স্কোয়ারে ফিট হবে এবং এটি কখনই খালি স্ট্রিং হবে না।

আপনি ধরে নিতে পারেন এটিতে কখনই নতুন লাইন থাকবে না।

উদাহরণ

Input:
Hi, world

Output:
Hi,
 wo
rld

পরীক্ষার মামলা

Input:
Hi, world! Hello

Output:
Hi, 
worl
d! H
ello

Input:
Lorem ipsum dolor sit amt

Output:
Lorem
 ipsu
m dol
or si
t amt

Input:
H

Output:
H

বিধি

  • এটি , তাই বাইট জেতে সংক্ষিপ্ত উত্তর! টাইব্রেকার সর্বাধিক উর্ধ্বমুখী উত্তর।
  • স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ।

আমরা কি ধরে নিতে পারি যে ইনপুটটিতে কখনও নতুন লাইন থাকবে না?
মেয়রমন্টি

@ মায়ারমন্টি হাঁ
অ্যাক্রোলিথ

2
এর পরিবর্তে আমরা স্ট্রিংগুলির অ্যারে আউটপুট করতে পারি?
ফাঁস নুন

@ লেকিউন 15 টি চর নেই
অ্যাক্রোলিথ

2
আমরা কি একটি চলন্ত নিউলাইন দিয়ে মুদ্রণ করতে পারি?
জিউসেপে

উত্তর:


21

ভিম, 59, 57 , 48 বাইট / কীস্ট্রোক

$:let @q=float2nr(sqrt(col('.')))."|li<C-v><cr><C-v><esc>@q"<cr>@q

যেহেতু ভি পিছনের দিকে সামঞ্জস্যপূর্ণ তাই আপনি এটি অনলাইনে চেষ্টা করতে পারেন !

আমি এলোমেলোভাবে এই উত্তরে একটি উত্সাহ পেয়েছি, তাই আমি আবার এটি সন্ধান করলাম। আমার ভিম-গল্ফিং দক্ষতা গত 7 মাসের তুলনায় অনেক বেড়েছে, তাই আমি দেখেছি যে এই উত্তরটি খুব খারাপভাবে গল্ফ হয়েছে। এই এক হল অনেক ভালো।


15

ব্রেইনফাক , 116 112 বাইট

>>>>,[[<]<<+>>>[>],]<[<]<+<[>>+<[-<-<+>>]<<++[->>+<<]>]>[-]>>[<[->.[-]<[->+<]<+[->+<]>>]++++++++++.[-]<[->+<]>>]

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

বিএফ এর স্বাদগুলিতে নিরাপদ যা কোষগুলিকে মুখোশ 256দেয় না, নাল বাইট সমর্থন করে না।

যদি স্বাদ 4 টি বাইট সংরক্ষণের জন্য নেতিবাচক মেমরিটিকে সমর্থন করে তবে প্রাথমিক ডান তীরগুলি সরান।

ব্যাখ্যা

প্রোগ্রামটি তিনটি পর্যায়ে বিভক্ত:

Stage 1: >>>>,[[<]<<+>>>[>],]<[<]
Stage 2: <+<[>>+<[-<-<+>>]<<++[->>+<<]>]>[-]>>
Stage 3: [<[->.[-]<[->+<]<+[->+<]>>]++++++++++.[-]<[->+<]>>]

ধাপ 1

এই পর্যায়ে, আমরা সমস্ত অক্ষর টেপটিতে রেখেছি, অক্ষরের সংখ্যা গণনা করে।

এই টেপের abcdefghiপরে ইনপুটটির জন্য এটি টেপ:

000 009 000 000 095 096 097 098 099 100 101 102 103
             ^

009গণনা করা হয়।

প্রতিটি চরিত্রের জন্য, আমরা প্রথম শূন্যকে বাম দিকে সরান এবং তারপরে [<]একটিকে গণনায় যুক্ত করি <<+>>>এবং তারপরে [>]পরবর্তী অক্ষরের জন্য প্রস্তুত হতে ডানদিকের শূন্যে চলে যাই ।

ধাপ ২

এই স্তরটি দ্বিতীয় কোষে সঞ্চিত দৈর্ঘ্যের বর্গমূল করে।

1, 3, 5, 7, ...সংখ্যাটি শূন্য না হওয়া পর্যন্ত এটি বিয়োগ করতে থাকে, পুনরাবৃত্তির সংখ্যার চেক রেখে।

এটি কাজ করে কারণ বর্গ সংখ্যা হিসাবে প্রকাশ করা যেতে পারে 1 + 3 + 5 + ...

পর্যায় 3

দৈর্ঘ্য উপরের হিসাবে পাওয়া বর্গমূল বোঝাতে n

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


1
+1 পড়েনি যদিও আশ্চর্যজনক দেখাচ্ছে
রোহান ঝুনঝুনওয়ালা

11

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

s=input()
n=int(len(s)**.5)
while s:print s[:n];s=s[n:]

10

05 এ বি 1 ই , 5 বাইট

Dgtô«

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

D    duplicate a (implicit input)
g    length of a
t    square root of a
ô    push a split in pieces of b
«    join by newlines (implicit output)

1
দুর্দান্ত উত্তর। কিন্তু এটা কিভাবে কাজ করে? আপনি একটি ব্যাখ্যা যোগ করতে দয়া করে সম্পাদনা করতে পারেন?
গ্রোভপ্লেক্স

@ গ্রোভেলপ্লেক্স সম্পন্ন হয়েছে।
অ্যাক্রোলিথ

খুব চিত্তাকর্ষক!
গ্রিফন - মনিকা

3
এটা তোলে পুরাতন 05AB1E উত্তরগুলি দেখতে যেখানে অদ্ভুত »নতুন লাইন এখন হয়।
ম্যাজিক অক্টোপাস আরন

8

এমএটিএল , 6 বাইট

tnX^e!

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

ব্যাখ্যা

t     % Take input implicitly. Push another copy
n     % Get number of elements of the copy
X^    % Take square root
e     % Reshape the input into that number of rows, in column-major order
      % (which means: down, then across)
!     % Transpose so that text reads horizontally. Implicitly display

1
বর্গ "টুর"? : পি
অ্যাক্রোলিথ

@ ডিহাগলেনি :-ড। সংশোধন করা হয়েছে
লুইস মেন্ডো

4
@da হাগলেনি এটি বর্গমূলের বিপরীত। ;-)
ডাব্লুবিটি

7

জেলি, 8 7 বাইট

sLƽ$j⁷

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

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

ব্যাখ্যা

sLƽ$j⁷  Input: string S
    $    Monadic chain
 L         Get the length of S
  ƽ       Take the integer square root of it, call it n
s        Split S into chunks of size n
     j⁷  Join using newline

2
œsএবং sএখানে একই জিনিস।
ডেনিস

তার ½বদলে কেন কাজ হয় না ƽ?
লুইস মেন্ডো

@ লুইস মেন্ডো কারণ এটি একটি ফ্লোট ফেরত দেয়। আমি প্যাচ করব sএবং œsতাই তারা অন্তর্ভুক্ত হবে।
ডেনিস

@ ডেনিস দীর্ঘ-প্রতীক্ষিত প্যাচ এখনও অপেক্ষা করছে ...
এরিক দ্য আউটগল্ফার

7

জাভাস্ক্রিপ্ট (ES7), 49 বাইট

s=>s.match(eval(`/.{${s.length**.5}}/g`)).join`
`

ফায়ারফক্স নাইটলি ৪৩-৪6-তে কেবলমাত্র 44 বাইট ( **ফায়ারফক্স নাইটলি 42 এবং 43 এর মধ্যে কিছু সময় চালু হয়েছিল এবং gফায়ারফক্স নাইট 46 এবং 47 এর মধ্যে কিছুটা পৃথক প্যারামিটার অপসারণ করা হয়েছিল):

s=>s.match(`.{${s.length**.5}}`,`g`).join`
`

প্রথম সংস্করণে আপনি কেন প্রয়োজন +মধ্যেs.length*+.5
Downgoat

*+সিনট্যাক্স এর আগে কখনও দেখিনি । কেউ দয়া করে এটি ব্যাখ্যা করতে পারেন?
মেয়রমন্টি

তিনি সম্ভবত মানে **
কনর ও'ব্রায়ান

@ মায়ারমন্টি হ্যাঁ এটি একটি টাইপো দুঃখিত ছিল।
নীল

@ ডাউনগোট এটি টাইপো দুঃখিত ছিল।
নীল

7

জে, 9 বাইট

$~,~@%:@#

এটি ইনপুট স্ট্রিংয়ের উপরে এক এক জ্বরযুক্ত হুক:

$~ ,~@%:@#

ডান টাইন রচনাগুলির একটি সিরিজ:

,~ @ %: @ #

বামটি একটি আকার দেওয়ার ক্রিয়াপদ, এমনভাবে পরিবর্তন করা যা এটি হুক ফর্ম্যাটে কাজ করে।

এখানে কিছু মধ্যবর্তী ফলাফল রয়েছে:

   # 'hiya'
4
   %:@# 'hiya'
2
   ,~@%:@# 'hiya'
2 2

শব্দসমূহে:

   size =: #
   sqrt =: %:
   dup =: ,~
   on =: @
   shape =: $~
   block =: shape dup on sqrt on size
   block 'Hello, World! :)'
Hell
o, W
orld
! :)

2
আমি যে মত $~,~@ইমোটিকন কিছু বাছাই বর্ণনার অনুরূপ কিন্তু @কানের অদ্ভুত বলে মনে হয় কিন্তু &তড়কা শ্রেষ্ঠ, না$~,~&
মাইল

1
এবং আমি মনে করি তারা কার্যত সমতুল্য। বেশিরভাগ ক্ষেত্রে। একজন আপনাকে অন্যের চেয়ে ভাল শুনতে দেয়;)
কনর ও'ব্রায়ান

1
আপনার স্কোরটি n² হওয়ার জন্য +1 ² খনিটিও খুব :)
ডিজিটাল ট্রমা

@ ডিজিটালট্রামা মজা! +1 একইভাবে!
কনর ও'ব্রায়েন

1
$~2#%:@#8। একটি কাঁটাচামচা বাম অংশ একটি ধ্রুবক হতে পারে।
ফ্রাউনফ্রগ

5

সি, 64 বাইট

f()স্ট্রিং সহ স্কোয়ারে কল করুন ।

m;f(char*s){for(m=sqrt(strlen(s));*s;s+=m)printf("%.*s\n",m,s);}

আদর্শে এটি চেষ্টা করুন


1
আপনি কি এটির intপরিবর্তে অন্তর্নিহিত যুক্তি দিয়ে কাজ করতে পারেন char*?
অ্যানাটলিগ

আমি তাই মনে করি না. এটিকে ডিফেরেন্স করা দরকার, সুতরাং একটি সংখ্যাসূচক প্রকারটি কাজ করবে না এবং যুক্ত int*হওয়ার সময় এটি ভুল স্কেল হওয়ার কারণ এটি হতে পারে ।
owacoder

সুপারিশ s+=write(puts(""),s,m));পরিবর্তেs+=m)printf("%.*s\n",m,s);
ceilingcat

5

পার্ল, 23 + 4 ( -pFপতাকা) = 27 বাইট

-২ বাইট @ ডোমহাস্টিংসকে
ধন্যবাদ -১ বাইট @ ডোমহাস্টিংসকে ধন্যবাদ

$==sqrt@F;s/.{$=}/$&
/g

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

বিস্তৃতি : ইনপুটটির আকারের স্কোয়ার রুটটি (এটির Sজন্য এটি কল করতে দেয় ) এটি গণনা করে (এটি সর্বদা পূর্ণসংখ্যার হবে) ( @Fস্কেলারের প্রসঙ্গে ব্যবহৃত হয়, এটির আকারটি ফিরে আসে), তারপরে প্রতিটি ব্লকের পরে একটি নতুন লাইন যুক্ত করুন Sঅক্ষর।


এর দুর্দান্ত ব্যবহার $@,;) আপনি y///cদৈর্ঘ্যের পরিবর্তে বাইট ব্যবহার করে সংরক্ষণ করতে পারেন এবং আমি মনে করি আপনি আক্ষরিক নতুন লাইনটিও ব্যবহার করতে পারেন। আমি সেটিং $,এবং ম্যাচিংয়ের সাথে কিছু করার চেষ্টা করছিলাম বলে মনে হচ্ছিল , তবে আমি মনে করি এটি অনেক খাটো!
ডম হেস্টিংস

1
@ ডোমহাস্টিংস হ্যাঁ, আমি ভেবেছিলাম আপনি পছন্দ করেন $@! এর জন্য ধন্যবাদ y///c, আমি ভুলে যেতে চাই যে এটি বিদ্যমান।
দাদা

1
@ ডোমহাস্টিংস $=পরিবর্তে 1 টি বাইট ব্যবহার করে পরিচালনা করে $@, যা -lপতাকা ব্যবহার করতে দেয় না ।
দাদা

ভাল যাচ্ছে! আসল কারণে ম্যাজিক ভেরিয়েবলগুলি ব্যবহার করাও ভাল!
ডম হেস্টিংস

আরে, আশা করি আপনি ঠিকঠাক করছেন! এটি হোমপৃষ্ঠায় ঝাঁপিয়ে পড়েছিল এবং আমি লক্ষ্য করেছি যে -1: 23 বাইট কোড + 4 এর জন্য-pF
ডম হেস্টিংস

4

zsh, 36 বাইট

fold -`sed s/.$//<<<$[$#1**.5]`<<<$1

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

                      $#1             get the length of the input string
                    $[   **.5]        take it to the .5 power (sqrt)
                 <<<                  and pass the result to
       sed s/.$//                     sed, which removes the last character
                                      this is because sqrt(9) is 3. instead of 3
     -`                       `       give the result as a command line flag to
fold                                  the fold util, which wraps at nth column
                               <<<$1  pass the input as input to fold

আপনার স্কোরটি n² হওয়ার জন্য +1 ² খনিটিও খুব :)
ডিজিটাল ট্রমা

4

05 এ বি 1 ই , 8 6 বাইট

স্কয়ার-রুট ফাংশন সম্পর্কে আমাকে জানতে দেওয়ার জন্য @ কোয়ার্টাটার ধন্যবাদ Thanks

Dgtô¶ý

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

ব্যাখ্যা

D     Implicit input. Duplicate
g     Number of elements
t     Square root
ô     Split into chunks of that length
¶     Push newline character
ý     Join list by newlines. Implicit display

খুব সুন্দর! এছাড়াও, «নতুন লাইনে যোগদানের জন্য সংক্ষিপ্ত :)।
আদনান

1
@ আদনান ধন্যবাদ! এখন আমি নিজেকে ছাড়িয়ে গিয়েছি :-ড
লুইস মেন্ডো

আমি আমার 6-বাইট সংস্করণে ফিরে এসেছি কারণ এর সাথে পূর্ববর্তী উত্তর ছিল«
লুইস মেন্ডো

1
ওহ, এটি খুব খারাপ :(
আদনান

কোড গল্ফের জন্য বিশেষভাবে তৈরি করা ভাষাগুলি কি এই পুরো জিনিসটির আবেদনকে নষ্ট করে দিচ্ছে বলে অন্য কারও কি মনে হয়?
রেনা রথ

4

পাইথন, 94 75 71 65 63 বাইট

import re;lambda r:"\n".join(re.findall("."*int(len(r)**.5),r))

পুরনো সংস্করণ:

lambda r:"\n".join(map("".join,zip(*[iter(r)]*int(len(r)**.5))))

মনে রাখবেন যে আপনি input() ডিফল্টরূপে উদ্ধৃতিগুলিতে ইনপুট পেতে ব্যবহার করতে পারেন , যদি না আপনি নির্দিষ্টভাবে এই বিকল্পটি সরাতে চান remove
xnor

@ এক্সনর ওহ বাহ, কিছুদিন আগে আমি ভাবছিলাম যে আমি ইনপুটতে উদ্ধৃতি ব্যবহার করতে পারি ...
অ্যাক্রোলিথ

ল্যাম্বডা ব্যবহার করা কি খাটো হবে না?
ফাঁস নুন

@LakakyNun সত্য ...
অ্যাক্রোলিথ



3

ডায়ালগ এপিএল, 10 বাইট

⊢⍴⍨2⍴.5*⍨≢

ব্যাখ্যা:

         ≢   length of the argument   
     .5*⍨    square root 
   2⍴        reshape that to a length-2 vector
⊢⍴⍨          reshape the input by that vector

পরীক্ষা:

      (⊢⍴⍨2⍴.5*⍨≢)'Hi, world'
Hi,
 wo
rld
      (⊢⍴⍨2⍴.5*⍨≢)'Hi, world! Hello'
Hi, 
worl
d! H
ello
      (⊢⍴⍨2⍴.5*⍨≢)'Lorem ipsum dolor sit amt'
Lorem
 ipsu
m dol
or si
t amt
      (⊢⍴⍨2⍴.5*⍨≢) 'H'
H

3

চেডার, ২ by বাইট (প্রতিদ্বন্দ্বী)

s->s.chunk(s.len**.5).vfuse

আমি .chunkকিছুক্ষণ আগে ফাংশনটি যুক্ত করেছি তবে আমি নতুন স্টাডলিব ফর্ম্যাটে রূপান্তরিত করে এটিকে সরিয়ে দিয়েছি এবং এটি পুনরায় যুক্ত করতে ভুলে গিয়েছি। চেড্ডারের একটি ডেডিকেটেড sqrtঅপারেটর রয়েছে তবে **.5এটি খাটো

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

ব্যাখ্যা

s ->              // Function with argument s
    s.chunk(      // Chunk it into pieces of size...
      s.len ** .5 // Square root of length.
    ).vfuse       // Vertical-fuse. Join on newlines


3

𝔼𝕊𝕄𝕚𝕟, ১১ টি চর / 14 বাইট

ѨĊ(ï,√ ïꝈ⸩Ė⬮

Try it here (ES6 browsers only).

এই কোডটি ব্যবহার করে তৈরি করা হয়েছে (দোভাষীর ব্রাউজার কনসোলটিতে চালানো):

c.value=`Ѩ${alias(_,'chunk')}(ï,√ ïꝈ⸩${alias(Array.prototype,'mjoin')}⬮`

3

ব্রেইনফাক, 83 বাইট

,[>+[>+<-],]
>
[
  >>[<+<-->>-]
  +<[>+<-]
  <-
]
<<
[
  [<]
  >.,
  >[>]
  >>+>-[<]
  <[[>+<-]++++++++++.,<<]
  <
]

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

এটি লিকি নুনের মতো একই ধারণা ব্যবহার করে উত্তর । তিনি এটিকে চ্যাটে গল্ফ করতে সহায়তা চেয়েছিলেন, তারপরে পরামর্শ দিয়েছিলেন যে আমি এটি একটি নতুন উত্তর হিসাবে যুক্ত করব। (আসলে আমি চ্যাটে যা লিখেছিলাম তা হ'ল এটির সাথে খুব মিল similar৪ বাইট সমাধান)

তুলনার খাতিরে, অতিরিক্ত > ব্রেইনফাক বাস্তবায়নের জন্য শুরুতে প্রয়োজন যা নেতিবাচক স্মৃতি ঠিকানাগুলিকে অনুমতি দেয় না।

যেমনটি প্রত্যাশিত, এটি ইনপুটটির দৈর্ঘ্যটি সন্ধান করে, তারপর বর্গমূল গ্রহণ করবে, তারপরে লাইনগুলি সেই অনুযায়ী প্রিন্ট করবে। এটি নিখুঁত স্কোয়ারগুলির আংশিক যোগফল হওয়ার সুবিধা গ্রহণ করে 1 + 3 + 5 ...


3

ব্রেন-ফ্লাক , 110 96 বাইট tes

([]<>){({}{}(({}[()])))}{}{({}()<(({})<{({}()<<>({}<>)>)}{}((()()()()()){})>)>)}{}{}{({}<>)<>}<>

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

দ্বিতীয় সমাধান, 96 বাইট

(([]<>)<{({}({})({}[()]))}{}>){({}(({})<{({}()<<>({}<>)>)}{}((()()()()()){})>))}{}{}{({}<>)<>}<>

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

ব্যাখ্যা

এখানে আমি প্রথম সমাধানটি ব্যাখ্যা করছি, উভয়ই একই দৈর্ঘ্য তবে আমি প্রথমটি পছন্দ করি কারণ এটি শীতল এবং কিছু সুন্দর কৌশল ব্যবহার করে।

কোডটির সর্বাধিক গুরুত্বপূর্ণ অংশটি আমি কিছু সময় আগে লিখেছি একটি পরিবর্তিত স্কয়ার রুট ফাংশন। মূল সংস্করণ ছিল

{({}[({})({}())])}{}

এবং এটি কাজ করে তবে আমরা নেতিবাচক বর্গমূলের দুটি কপি চাই। কেন? আমাদের দুটি কপি দরকার কারণ আমরা দুটি স্তরে স্ট্রিংয়ের মধ্য দিয়ে লুপ করছি, একটি লাইন তৈরি করতে এবং একটি লাইনের সংখ্যা গণনা করতে। আমরা এটি নেতিবাচক হতে চাই কারণ নেতিবাচক সাথে লুপিং সস্তা is

এই নেতিবাচক আমরা প্রায় সরাতে [...]তাই এটি ভালো দেখায়

{({}({})({}[()]))}{}

দুটি কপি তৈরি করতে যখন পপগুলি ঘটে তখন আমরা পরিবর্তন করি

{({}{}(({}[()])))}{}

এখন যে আমাদের কাছে কিছুটা বিট রয়েছে আমাদের প্রয়োজনীয় কোডের প্রথম অংশটি পেতে আমরা এটি স্ট্যাকের উচ্চতার সাথে একসাথে রাখতে পারি।

([]<>){({}{}(({}[()])))}{}

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

এখন আমরা মূল লুপটি নির্মাণ করি

{({}()<(({})<{({}()<<>({}<>)>)}{}((()()()()()){})>)>)}{}{}

এটি বেশ সোজা এগিয়ে, আমরা প্রতিটি বার এন আইটেমগুলি সরানো এবং একটি নতুন লাইন (এএসসিআইআই 10) দিয়ে ক্যাপ করার জন্য এন বার লুপ করি।

লুপটি শেষ হয়ে গেলে আমাদের আমাদের আউটপুটটির ক্রমটি বিপরীত করতে হবে যাতে আমরা কেবল একটি স্ট্যান্ডার্ড বিপরীত নির্মাণের উপর নজর রাখি।

{({}<>)<>}<>




2

চেডার, 57 বাইট

n->(m->(|>m).map(i->n.slice(i*m,i*m+m)).vfuse)(n.len**.5)

যেহেতু ভেরিয়েবলগুলি নষ্ট হয়ে গেছে, তাই ল্যাম্বডা অ্যাপ্লিকেশনটির মাধ্যমে আমাকে ভেরিয়েবলগুলিতে পাস করতে হবে।

এছাড়াও, দেখা যাচ্ছে যে ভেরিয়েবলগুলি কাজ করলেও লাম্বদা অ্যাপ্লিকেশনটি ব্যবহার করা আরও কম হবে।

ব্যবহার

cheddar> (n->(m->(|>m).map(i->n.slice(i*m,i*m+m)).vfuse)(n.len**.5))("abcd")
"ab
cd"


2

জাভা 1.7, 110 বাইট

void f(String s){for(int i=-1,k=(int)Math.sqrt(s.length());++i<k;)System.out.println(s.substring(i*k,i*k+k));}

চেষ্টা করে দেখুন! (Ideone)

আমি স্ট্রিং হিসাবে ফলাফল ফাংশন দিয়ে অন্য পদ্ধতির চেষ্টা করেছি, তবে কেবল স্ট্রিংটি ঘোষণা করতে হয়েছে এবং রিটার্নের বিবৃতিটি প্রিন্ট স্টেটমেন্টের চেয়ে ইতিমধ্যে আরও ব্যয়বহুল (বাইট-কাউন্ট-ওয়াইজ) is

জাভা এর ভারবোসিটি পছন্দ করেছে ... :)


ভাল উত্তর +1। আপনি ব্যবহার করে গলফ এটি 1 বাইট দ্বারা করতে পারেন i=0, i<kএবং s.substring(i*k,i++*k+k)পরিবর্তে i=-1, ++i<k, s.substring(i*k,i*k+k)। এছাড়াও, সাধারণত আমরা কেবল Java 7পরিবর্তে ব্যবহার করি Java 1.7তবে এটি ভাল যে আপনি এটি যুক্ত করেছেন, প্রচুর লোক তা করতে ভুলে যায়।
কেভিন ক্রুইজসেন

2

আর , 59 54 বাইট

function(s)write(el(strsplit(s,'')),1,nchar(s)^.5,,'')

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

একটি ট্রেলিং নিউলাইন সহ প্রিন্ট করুন। আশ্চর্যজনকভাবে সংক্ষেপে, আর স্ট্রিংগুলি আর কীভাবে পরিচালনা করে তা বিবেচনা করে।




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