খুব লম্বা তেরজা রিমা


38

বিবরণ

খুব দীর্ঘ তেরজা রিমার জন্য ছড়া স্কিমটি আউটপুট করুন।

ইনপুট

কোনটিই নয়।

আউটপুট

ABA
BCB
CDC
DED
EFE
FGF
GHG
HIH
IJI
JKJ
KLK
LML
MNM
NON
OPO
PQP
QRQ
RSR
STS
TUT
UVU
VWV
WXW
XYX
YZY

বিধি

আপনি হোয়াইটস্পেস বা নিউলাইনগুলির সাথে পৃথক স্তরের মধ্যবর্তী স্থানে বেছে নিতে পারেন, তাই হয়:

ABA BCB...

অথবা

ABA
BCB
...

প্রতি লাইনে একক ট্রেলিং হোয়াইটস্পেস এবং একের পরের নতুন লাইনের অনুমতি রয়েছে।

আউটপুট হয় বড় হাতের বা ছোট হাতের অক্ষর হতে পারে।

এটি , তাই প্রতিটি ভাষার জন্য বাইটের মধ্যে সংক্ষিপ্ততম কোডটি জয়ী।


4
লাইনের তালিকা কি ঠিক আছে?
সম্পূর্ণমানবিক

6
এন.ইউইকিপিডিয়া.আর / উইকি / তেরজা_রিমার মতে আপনার শেষটি ভুল। এটি জেড বা জেডজেড উভয় দিয়েই শেষ হওয়া উচিত।
ক্রিস

ছড়া প্রকল্পের বাইরে অতিরিক্ত আউটপুট থাকতে পারে? এটি আমাকে কয়েক বাইট সংরক্ষণ করতে পারে।
NK1406

@ NK1406 নাহ দুঃখিত।
লিফড ওয়েইন

1
@totallyhuman স্ট্রিং অ্যারে ঠিক আছে।
LiefdeWen

উত্তর:


24

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

@ এল 4 এম 2 এর জন্য 1 বাইট সংরক্ষণ করা হয়েছে

f=(n=45358)=>n%63?f(n-1333)+n.toString(36)+' ':''

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

কিভাবে?

আমরা এন = 45358 ( বেস -36ইজি ) দিয়ে শুরু করি। আমরা প্রতিটি পুনরাবৃত্তিতে n থেকে 1333 বিয়োগ করি ( বেস -36 এ 111 )। আমরা যত যত তাড়াতাড়ি বন্ধ এন MOD এর 63 = 0 , কারণ 12033 ( 9a9 বেস-36) প্রথম মান, যার জন্য এই অবস্থা পূর্ণ হয় এবং 63 যেমন একটি সম্পত্তি সঙ্গে ক্ষুদ্রতম মডিউল নয়।

Decimal | Base-36 | MOD 63
--------+---------+-------
  45358 |   yzy   |   61
  44025 |   xyx   |   51
  42692 |   wxw   |   41
  41359 |   vwv   |   31
  40026 |   uvu   |   21
  38693 |   tut   |   11
  37360 |   sts   |    1
  36027 |   rsr   |   54
  34694 |   qrq   |   44
  33361 |   pqp   |   34
  32028 |   opo   |   24
  30695 |   non   |   14
  29362 |   mnm   |    4
  28029 |   lml   |   57
  26696 |   klk   |   47
  25363 |   jkj   |   37
  24030 |   iji   |   27
  22697 |   hih   |   17
  21364 |   ghg   |    7
  20031 |   fgf   |   60
  18698 |   efe   |   50
  17365 |   ded   |   40
  16032 |   cdc   |   30
  14699 |   bcb   |   20
  13366 |   aba   |   10
  12033 |   9a9   |    0

আপনি বেস 36 কীভাবে সিদ্ধান্ত নিলেন? এবং আপনি কি নিশ্চিত যে এটি সর্বোত্তম?
লিফডে ওয়েইন

2
@ লিফড ওয়েইন এটি সমস্ত অক্ষর ধারণের সবচেয়ে কম বেস, তাই এটি সর্বোত্তম।
এরিক আউটগল্ফার

@ ব্যবহারকারী202729 আপনার অর্থ কী? তিনি ওপি নন, সুতরাং আপনি যাদের উল্লেখ করেছেন তাদের মধ্যে তিনি একজন?
এরিক আউটগলফার

17
একটি (আনমন) আকর্ষণীয় পার্শ্ব নোড হিসাবে, 1333 = 666 * 2 + 1 এবং এটি পিপিসিজিতে আমার 666 তম উত্তর।
আর্নৌল্ড

3
@ আর্নল্ড দয়া করে আপনার পরবর্তী উত্তরের কোথাও 1335 মানটি ব্যবহার করেছেন তা নিশ্চিত করুন।
IanF1

15

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

f(i){for(i='ABA';i%29;i+=65793)puts(&i);}

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

স্থির এবং -9 ব্যবহারকারী 202729 ধন্যবাদ । -1 ডেনিসকে ধন্যবাদ এবং -2 আরনাউল্ডকেও ধন্যবাদ ।



1
(i='ABA';i<'ZZZ';i+=65793)একটি বাইট সংরক্ষণ করে।
ডেনিস

59e5পরিবর্তে 'ZZZ'অন্য বাইট সংরক্ষণ করুন ব্যবহার করুন ।
ব্যবহারকারী 202729

আপনি ব্যবহার করতে পারেন i%29জন্য 41 বাইট
Arnauld


9

ব্রেনফাক , 51 48 বাইট

@Ovs এর জন্য 3 বাইট সংরক্ষণ করা হয়েছে

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

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

ব্যাখ্যা

INITIALIZE TAPE:

0000:           (none)
0001: C_NEWLINE (10)
0002: V_COUNT   (25)
0003: V_ALPHA   (64)
++++++++[>+>+++>++++++++<<<-]>++>+

V_COUNT TIMES:              [-
    INCREMENT V_ALPHA         >+
    PRINT V_ALPHA             .
    PRINT V_ALPHA PLUS ONE    +.
    PRINT V_ALPHA             -.
    PRINT C_NEWLINE           <<.
END LOOP                    >]

@ কনরোও ব্রায়ান - আমি কেবল লক্ষ্য করেছি যে আমার উত্তরটি আপনার সাথে বেশ মিল। আপনি যদি মনে করেন এটি খুব নিকটে এবং আমি এটি সরিয়ে দেব তবে বিনা দ্বিধায় মন্তব্য করুন।
এলপেড্রো

1
@ এলপিড্রো না, আপনি ভাল আছেন, এই চ্যালেঞ্জটিতে নতুনত্বের খুব বেশি জায়গা নেই :)
কনর ও'ব্রায়েন

9

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

Aü«€û

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

-1 বাইট এমিনগাকে ধন্যবাদ
-1 বাইট রুল পরিবর্তনকে ধন্যবাদ; এটি নির্দেশ করার জন্য ক্যালসওয়ারাসকে ধন্যবাদ

হেই, বর্তমানে পাইথকে মারছে। \ ণ /

ব্যাখ্যা

Aü«€û»  Full Program
A       Lowercase Alphabet
 ü«     Pairwise with merge-list
   €û   For each, palindromize

আপনি করতে পারেনAü«€û»
এমিগিনা

এমনিগা @ শীতল, ধন্যবাদ! : ডি
হাইপারনিউট্রিনো

খুব ভাল, আমি না চেয়েও পেয়েছি।
যাদু অক্টোপাস উরান

মন্তব্য অনুসারে, স্ট্রিংগুলির একটি তালিকা আউটপুট হিসাবে ঠিক আছে, আপনি যোগদানটি সরাতে পারেন।
kalsowerus

9

ব্রেনফাক , 51 49 বাইট

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

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

একটি ব্যাখ্যার চেষ্টা ...

+++++                     #Put 5 in cell 0 because that is the highest common denominator of 10, 65 and 25
[                         #Start loop
>+++++                    #Counter in cell 1 is 25 (How many lines we must print)
>+++++++++++++            #Counter in cell 2 is 65 (ASCII A)  
>++                       #Counter in cell 3 is 10 (Newline)
<<<-]                     #Decrement the outer counter until the cells have the right values (muliples of 5).
>                         #Move to the counter that says how many lines we must print.
[>.                       #Print the character in cell 2
+.                        #Add one to the character in cell 2 and print it
-.                        #Subtract one from the character in cell 2 and print it
+                         #Add one to the character in cell 2 for the next loop
>.                        #Print a new line
<<-]                      #Decrement cell 1 and run again until cell 1 is 0

@ 2s- কে ধন্যবাদ সহ -2

আমার প্রথম প্রচেষ্টা ব্রেইনফাক যাতে কোনও ইঙ্গিত কৃতজ্ঞভাবে পেল। যদি আমি এটির সাথে আরও অভিজ্ঞ হয়ে থাকি তবে আমি নিশ্চিত যে আমি আরও কয়েকটি বাইট ছাঁটাই করতে পারি তবে গতকাল আমি কেবল এটিতে প্রবেশ করেছি।






6

ব্রেন-ফ্লাক , 90 বাইট

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

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

এটি অন্যান্য মস্তিষ্ক-ফ্ল্যাঙ্ক উত্তরের চেয়ে সংক্ষিপ্ত হওয়ার কারণ এটি ছোট হাতের অক্ষরের পরিবর্তে বড় হাতের অক্ষর ব্যবহার করে, যার ছোট ASCII মান রয়েছে এবং তাই এটি চাপ দেওয়া সহজ।

ব্যাখ্যা:

#Push 25
((((()()()){}){}){}())

#While true
{

    #Keep track of the number on top of the stack...
    # We'll call it 'a'
    (({})

        #Push A +...
        <((({}

        # 64 (push)
        ((((()()()()){}){}){}){})
        # + 1 (push)
        ())
        # - 1 (push)
        [()])

        # Push 10
        ((()()()()()){})>

    # Now that's all pushed, we push a - 1 to decrement the loop counter
    [()])

# Endwhile
}

আমি প্রথম সংস্করণটি লিখি এবং কোনও গল্ফ সংস্করণ লিখলে আপনি +5 পাবেন না v ???
ক্রিস্টোফার

5

আর, 51 47 বাইট

L=LETTERS;cat(sprintf("%s%s%1$s",L[-26],L[-1]))

আউটপুট:

> L=LETTERS;cat(sprintf("%s%s%1$s",L[-26],L[-1]))
ABA BCB CDC DED EFE FGF GHG HIH IJI JKJ KLK LML MNM NON OPO PQP QRQ RSR STS TUT UVU VWV WXW XYX YZY

অভিনব ছাড়া সাদাসিধা ভাবে sprintfহয় 49 বাইট
: Giuseppe

@ জিউস্পেপ এটি হবেন কারণ আমি sprintfসঠিকভাবে ব্যবহার করিনি :)
প্ল্যানাপাস

ঠিক আছে, তবে আমি একটি 40 বাইটার পেয়েছি :)
জিউসেপ

@ জিউসেপ আউচ :)
প্ল্যানাপাস

1
অন্য [40 byter] [ tio.run/##K/r/... ASCII কোড রূপান্তর, কেস উপর ভিত্তি করে
NofP

5

জাভা 8 , 132 85 62 60 বাইট

  • 47 নাইটকে ধন্যবাদ বাইটস
  • অলিভারকে 26 বাইট ধন্যবাদ
  • 3 বাইট এবং আরও ভাল ফর্ম্যাটিং কেভিনকে ধন্যবাদ
  • অলিভার দ্বারা ত্রুটি ঠিক করা

Golfed

a->{for(char i=64;++i<90;)System.out.println(""+i+++i--+i);}

Ungolfed

public class TerzaRima {
    interface A{
        void a(String a);
    }
    static A a = a -> {
        for (char i = 64; ++i < 90; ) System.out.println("" + i++ + i-- + i);
    };
    public static void main(String[] args){
        a.a(null);
    }
}

1
একটি চর অ্যারে মুদ্রণ করা সম্ভবত অনেক খাটো হবে।
নিল

1
আপনি iএকটি charখুব করতে পারেন ?
নিল

2
a->{for(char c=64;++c<90;)System.out.println(""+c++ +c--+c);}(62 বাইট)
অলিভিয়ের

2
বর্তমানে এটি কোনও ফাংশন বা প্রোগ্রামের পরিবর্তে একটি স্নিপেট, সুতরাং আপনাকে v->{...}@ অলিভিগ্রগ্রোয়ার দ্বারা উল্লিখিত হিসাবে যোগ করতে হবে । ( জাভা 8 ল্যাম্বডাস কীভাবে কাজ করে আপনি যদি না জানেন তবে আমি এর আগে একবার ব্যাখ্যা দিয়েছি )) এছাড়াও, আপনি অলিভিয়ের মতো লুপের বন্ধনীগুলি সরিয়ে ফেলতে পারেন এবং অতিরিক্ত গল্ফ হিসাবে আপনি মুদ্রণটি পরিবর্তিত করতে পারবেন System.out.print(" "+i+++i--+i);(পরিবর্তে একটি স্থান) একটি নতুন লাইনের, এবং আপনার কোনও জায়গার দরকার নেই c+++c--+c)। এখানে চেষ্টা করুন।
কেভিন ক্রুইজসেন

1
টিপস পাশাপাশি জাভা ল্যাম্বডাস ডকুমেন্টের জন্য @ কেভিন ক্রুজসেনকে ধন্যবাদ। কিছু সাধারণ ল্যাম্বডাস বাস্তবায়নের জন্য এটি অনুসরণ করা খুব সহজ ছিল। আমি সেই অনুযায়ী আপডেট করেছি!
ডেভেলপিং




4

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

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

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


+1 আমি এর বেশিরভাগটি অনুসরণ করি তবে এটি দিয়েই শুরু হয় - [এর অর্থ কি আপনি লুপটি শুরু করার আগে সেল 0 থেকে -1 সেট করছেন? আপনার যদি সময় থাকে তবে কোনও ব্রেনফাক নবাগতের ব্যাখ্যা দেওয়ার কোনও সুযোগ? বিটিডব্লিউ, আমার প্রচেষ্টার জন্য -2 এর জন্য ধন্যবাদ।
এলপেড্রো

@ এলপেড্রো এটি ব্রেনফাক ইন্টারপ্রেটারের উপর নির্ভর করে, টিও.আরুন-এ অনুবাদক প্রতিটি কোষে স্বাক্ষরিত 8-বিট সংখ্যা রাখে, তাই লুপের আগে প্রথম ঘরটি 255 হয়ে যায়।
ovs

@ এলপেড্রো ইনিশিয়ালাইজেশন বিভাগটি আসলে বিএফ-ক্রঞ্চ দ্বারা উত্পাদিত ।
ovs

4

ব্রেনফাক , 45 37 বাইট

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

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

বড় হাতের মুদ্রণগুলি, একটি পিছনের জায়গার সাথে ফাঁক দিয়ে পৃথক করা।

কিভাবে এটা কাজ করে:

+[[<+>>++<-]>] Intialises the tape with the format n^2
               1 2 4 8 16 32 64 128 0 0'
<<---          Navigates to the desired section and tweaks the counter
               1 2 4 8 16 32 64 125<
[-----<+.+.-.<.>>] Prints the Terza Rima, using:
                 125 as the loop counter (decremented by 5 each loop)
                 64 as the current alphabetic character (incremented and printed each loop)
                 32 as the space character

1
এটি আসলেই দুর্দান্ত! ভাল করেছ!
ধূলো





3

হাস্কেল , 28 বাইট

[[x,succ x,x]|x<-['A'..'Y']]

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

succ নামকরণের মতো দুর্ভাগ্য!

ব্যাখ্যা

[[x,succ x,x]|x<-['A'..'Y']]

[            |x<-          ]  -- for x in...
                 ['A'..'Y']   -- the alphabet sans Z
 [x,succ x,x]                 -- construct a string of x, the successor of x and x

4
আমি মনে করি না যে স্ট্রিংগুলির প্রয়োজন অনুযায়ী স্থান বা নিউলাইন দিয়ে আলাদা করার পরিবর্তে তার তালিকা ফিরিয়ে দেওয়া সম্পূর্ণ ন্যায্য fair
ব্যবহারকারী 28667

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

@ টোটালিহুমান এই মুহূর্তে চ্যালেঞ্জটি স্পষ্টভাবে নির্দিষ্ট করে যে আউটপুট পৃথক করতে ফাঁকা বা নিউলাইনগুলি ব্যবহার করা উচিত, সুতরাং এই উত্তরটি বর্তমানে অবৈধ। তাই সাইটের নিয়ম অনুসারে কঠোরভাবে এটি মুছে ফেলা উচিত, বা একটি unlinesবা প্রিপেন্ডের মাধ্যমে ঠিক করা উচিত unwords
লাইকোনি

@ লাইকনি আমার কাছে মনে হচ্ছে আপনি নিনজা করেছেন। চ্যালেঞ্জটি আউটপুট হিসাবে লাইনগুলির একটি তালিকা স্পষ্টভাবে অস্বীকার করে না। (প্লাস, এটি উত্তরের ন্যায্য পরিমাণকে অকার্যকর করে দেবে)) যেভাবেই হোক, উত্তর এখন অবৈধ নয়
সম্পূর্ণমানবিক

3

আর , 40 বাইট

cat(intToUtf8(rbind(x<-65:89,x+1,x,10)))

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

প্ল্যানেপাস এবং জিউসেপের উত্তরগুলির আর একটি বিকল্প । তাদের অনুরোধ অনুসরণ করে পোস্ট করা। এই সমাধানটি ইউটিএফ 8 কোডিংয়ের জন্য ASCII কোড ব্যবহার করে।

পিএস যদি টিএবিগুলিকে অনুমতি দেওয়া হয় তবে কেউ নতুন লাইনের (এএসসিআইআই কোড 10) একটি সারণী (এএসসিআইআই কোড 9) দিয়ে প্রতিস্থাপন করতে পারে এবং সমাধানটি 39 বাইটে সঙ্কুচিত হতে পারে:

cat(intToUtf8(rbind(x<-65:89,x+1,x,9)))


আমি মনে করি ব্যবহার 9পুরোপুরি ঠিক আছে, যেহেতু এটি সাদা অংশ, যা ওপি দ্বারা অনুমোদিত।
জিউসেপে

3

আর , 40 36 বাইট

cat(paste0(L<-LETTERS,L[-1],L)[-26])

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

প্ল্যানাপাসের উত্তরের বিকল্প ; এটি কিছুটা গল্ফায়ার হতে পারে; আমি তার অনুরোধ অনুযায়ী পোস্ট করেছি।

NofP- র এই 40 বাইট উত্তরটিও দেখুন যা বেশ সুন্দর।


3

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

65..89|%{-join[char[]]($_,++$_,--$_)}

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

থেকে loops 65জন্য 89। প্রতিটি পুনরাবৃত্তি, আমরা প্রাক-বর্ধন এবং প্রাক-হ্রাস ব্যবহার করে বর্তমান অঙ্কের একটি পূর্ণসংখ্য অ্যারে (বর্তমান, আরও একটি এবং বর্তমান) তৈরি করছি। এরপরে এটি charআরে হিসাবে পুনরায় কাস্ট করা হবে এবং -joinএকসাথে একটি স্ট্রিং এড হবে। প্রতিটি স্ট্রিং পাইপলাইনে রেখে দেওয়া হয় এবং Write-Outputপ্রোগ্রামের সমাপ্তিতে একটি অন্তর্নিহিত আমাদের প্রতিটি উপাদানকে একটি ফ্রি জন্য একটি নতুন লাইন দেয়।


বিকল্পভাবে, একই বাইট গণনা

65..89|%{-join[char[]]($_,($_+1),$_)}

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


1
($_,($_+1),$_)বিকল্প একই দৈর্ঘ্যের টিপল
ভেস্কাহ



2

পেপে, 59 56 বাইট

-3 বাইট u_nd সংজ্ঞায়িত ধন্যবাদ

REeEeEEeEerEeEeeeeeERrEEEEErEEEeeREEreeerEEEEEeeEreeERee

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

ব্যাখ্যা:

# Prepare stacks

  # prepare stack R [Z]
  REeEeEEeEe  # push Z

  # prepare stack r [A,B,A]
  rEeEeeeeeE  # push A
  RrEEEEE     # copy and increment A (getting B)
  rEEEee      # duplicate A to end

# Start loop
REE           # create label Z

  reee        # output stack r contents
  rEEEEEeeE   # increment all

  reeE        # end line

Ree           # loop while r[p] != Z

1
প্রতিস্থাপন করা হচ্ছে rEeEeeeeEeসঙ্গে RrEEEEE3 বাইট বন্ধ সংরক্ষণ
u_ndefined

@ ইউ_সাইডাইফাইড ধন্যবাদ! পেপেতে পতাকা যুক্ত হওয়ার আগে আমি এই কোডটি তৈরি করেছিলাম। উত্তর আপডেট করেছেন।
রেডক্লভার

1

21 বাইট তবে পিছনে থাকা নতুন লাইনের সাথে ভুগছে ...
নিল

@ নীল হ্যাঁ, আপনার এমনকি এমনকি প্রয়োজনও নেই `...। এই নতুন ট্র্যাকিং করা নতুন লাইনের হাত থেকে মুক্তি পাওয়া যদিও বিরক্তিকর। আমি রেটিনা ১.০ এ লুপগুলিতে মুদ্রণটি কিছুটা আরও নমনীয় এবং সুবিধাজনক করার জন্য আশা করছি।
মার্টিন এন্ডার

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