প্যালিনড্রমিক প্যালিনড্রোম জেনারেটর


22

একটি প্রোগ্রাম তৈরি করুন, যা ইনপুট স্ট্রিংটিকে ইনপুট স্ট্রিং দিয়ে শুরু করে প্যালিনড্রমে রূপান্তর করে। প্রোগ্রাম নিজেই একটি প্যালিনড্রোম হতে হবে।

উদাহরণস্বরূপ ইনপুট neverod:, মুদ্রণ করুন neveroddoreven। আপনার মাল্টি-ওয়ার্ড, মাল্টি-লাইন ইনপুটগুলিও হ্যান্ডেল করা উচিত।


2
এটি এই প্রশ্নের সাথে খুব সাদৃশ্যপূর্ণ বলে মনে হচ্ছে , এখানে আমরা পরীক্ষার পরিবর্তে উত্পন্ন করছি। সম্ভাবনা হ'ল একই কৌশলগুলি প্রোগ্রামটিকে প্যালিনড্রোমে পরিণত করার জন্য নিযুক্ত করা হবে, যদিও।
Sp3000

2
প্রশ্নটি ডাউনওয়েটকে আমি পুরোপুরি বুঝতে পারি, তবে উত্তরটি কেন নিম্নমানের ছিল?
জন ডিভোরাক

2
@ জনডভোরাক আমি এটি অনুমান করছি কারণ এটি প্যালিনড্রোম তৈরির জন্য মন্তব্যগুলি ব্যবহার করে যা বিশেষত সেই কৌশলটিকে ঠিক করে তোলে। এটি খুব আকর্ষণীয় উপায় নয় এবং বিশেষত কমপক্ষে একটি প্রশ্নে নিষিদ্ধ যা প্যালিনড্রমিক কোডের প্রয়োজন: কোডগল্ফ.স্ট্যাকেক্সেঞ্জ / কুইক / ২৮১৯০ / ১৫৫৯৯ । টোমেক, প্রোগ্রামিং ধাঁধা এবং কোডগল্ফে আপনাকে স্বাগতম। আমি যাইহোক যাইহোক উত্সাহ দিচ্ছি যাতে আপনার আমাদের স্যান্ডবক্স মেটা কোডেগল্ফ.স্ট্যাককেেক্সচেঞ্জ.com/q/2140/15599 এ অ্যাক্সেস পাওয়া যায় তবে আমি আপনাকে অন্যটি জিজ্ঞাসা করার আগে কিছুটা প্রশ্নের উত্তর দেওয়ার পরামর্শ দিই। এছাড়াও, পোস্ট করার আগে অনুরূপ প্রশ্নের সন্ধান করতে ভুলবেন না
স্তর নদী সেন্ট

ফাংশন অনুমোদিত (পুরো প্রোগ্রামের পরিবর্তে)?
নিমি

উত্পন্ন প্যালিনড্রোমের জন্য আমরা কি একটি ডিলিমিটার ব্যবহার করতে পারি? যেমন neverod-> neverodadoreven(এর aমধ্যে থাকা সাথে)
Rɪᴋᴇʀ

উত্তর:


26

ডায়ালগ এপিএল, 6 4

⌽,,⌽

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

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

⌽,⊢⊢,⌽
⌽⊢⊢,⊢⊢⌽

ব্যাখ্যা

তারা কেবল:

{⌽((,⍵),(⌽⍵))}
{⌽((,⍵)⊢((⊢⍵),(⌽⍵)))}
{(⌽⍵)⊢((⊢⍵),((⊢⍵)⊢(⌽⍵)))}

মোনাডিক ,এবং স্ট্রিংগুলিতে কিছুই করে না। ডায়াডিক ,হ'ল সংমিশ্রণ। ডায়াডিক তার ডান সংকেত প্রদান করে । এবং স্পষ্টতই বিপরীত হয়।


1
মনে রাখবেন এটি কেবল ডায়ালগ এপিএলে কাজ করে।
FUZxxl

22

পিট 19x2 = 38

http://www.pietfiddle.net/img/aoNhlwC47U.png?cs=15&rot=4

0x00 এর মুখোমুখি না হওয়া পর্যন্ত ইনপুট গ্রহণ করে। শেষ হচ্ছে না, তবে আউটপুট সঠিক হবে।


3
প্রতিসম: হ্যাঁ; প্যালিনড্রোমিক:?
নীল

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

1
@ এসোলেংফ্রুট যদিও কেউ যুক্তি দিতে পারে যে প্যালিনড্রোমের সমতুল্য চিত্রটি সেন্ট্রোসিমমেট্রিক হওয়া উচিত।
জোনাথন ফ্রেচ

17

এপিএল, ৯

⍞←Z,⌽,Z←⍞

ব্যাখ্যা:

       Z←⍞  ⍝ read a line from the keyboard, and store it in Z
      ,     ⍝ flatten into one-dimensional array (this has no effect here)
     ⌽      ⍝ reverse
   Z,       ⍝ concatenate Z to its reverse
⍞←         ⍝ explicit output (not necessary, but it makes it a palindrome)

13

সিজেম, 13 বাইট

qL;_-1%1-_;Lq

qL;                 "Read the input, Put an empty array on stack and pop that array";
   _-1%             "Now the string is on top, make a copy and reverse the copy";
       1-           "Remove occurrences of integer 1 from the reverse string. [no-op]";
         _;         "Copy the reversed string and pop it";
           Lq       "Put an empty array on stack and read the remaining input. Remaining";
                    "input will be empty as we already read whole of the input";

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


অথবা ..

গল্ফস্ক্রিপ্ট, 9 বাইট

.-1%}%1-.

.                 "Input is already on stack. Make a copy";
 -1%              "Reverse the copy";
    }             "This marks the beginning of a super comment. Anything after this in the";
                  "code is a comment";
     %1-.         "no-op comment";

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


আমি মনে করি আপনি আপনার "সুপার-মন্তব্য" সহ গল্ফস্ক্রিপ্ট পার্সারে একটি বাগ পেয়েছেন। মনে মনে, একটি সাধারণ #মন্তব্য ঠিক সেখানে কাজ করবে।
ইলমারি করোনেন

@ ইলমারি কারোনেন এটি আমি নই, বহু }যুগ থেকেই সুপার মন্তব্য হিসাবে পরিচিতি পেয়েছি :)
অপটিমাইজার

8

সি ++, 162 বাইট

#include<cstdio>//
main(){int c=getchar();if(c>0)putchar(c),main(),putchar(c);}//};)c(rahctup,)(niam,)c(rahctup)0>c(fi;)(rahcteg=c tni{)(niam
//>oidtsc<edulcni#

সি, 117 বাইট

main(c){c=getchar();if(c>0)putchar(c),main(),putchar(c);}//};)c(rahctup,)(niam,)c(rahctup)0>c(fi;)(rahcteg=c{)c(niam

1
the
শ্বর

7

হাস্কেল, 102 + 22 = 124 বাইট

a b fa=fa<|>b
fa=reverse>>=a
main=interact fa
niam=main
af tcaretni=niam
a=>>esrever=af
b>|<af=af b a

এটি অবশ্যই Control.Applicativeস্কুপের মডিউলটির সাথে চালানো উচিত , যা ghci init ফাইলের মাধ্যমে সেট করা যায় .ghci: :m Control.Applicative(-> +22 বাইট)।

কোনও মন্তব্য কৌশল নয়, মাত্র 7 টি ফাংশন যেখানে তাদের 4 জনকে কখনই ডাকা হয় না।

যদি ফাংশনগুলি (প্রোগ্রামগুলির পরিবর্তে) অনুমোদিত হয়:

হাস্কেল, 55 + 22 = 77 বাইট

a b fa=fa<|>b
f=reverse>>=a
a=>>esrever=f
b>|<af=af b a

ব্যবহার f "qwer"->"qwerrewq"

সম্পাদনা: পূর্ববর্তী সংস্করণটি ঠিক ভুল ছিল।


3

পাইথ, 11 বাইট

+z_z " z_z+

পাইথ-এ, কোনও জায়গার আগের কিছু মুদ্রিত হয় না। সুতরাং আমরা কেবল স্ট্রিংয়ের নেতিবাচকটিকে নিজের মধ্যে যুক্ত করব, একটি স্থান রেখেছি, একটি স্ট্রিং শুরু করব এবং উদ্ধৃতিটির বাম দিকে মিরর করব "

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


3

রুবি, 44

s=gets p
s+=s.reverse||esrever.s=+s
p steg=s

স্টিডিন থেকে ইনপুট হিসাবে একটি বহুরেখা স্ট্রিং নেয়, তার স্ট্রিজের রুবি প্রতিনিধিত্বকে তার বিপরীতে সংযুক্ত করে আউটপুট দেয়। প্রতিস্থাপন একটি অক্ষর ছাঁটা গেল ||সঙ্গে #দ্বিতীয় লাইনে মৃত কোডটি মন্তব্য করতে।



... সত্য, এর দ্বারা আমি কী বোঝাতে চাইছি তা আমার কোনও ধারণা নেই।
হিস্টোক্র্যাট

3

জल्फ, 9 বাইট

নতুন ভাষা, প্রতিযোগিতামূলক

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

aη+i_i+ηa

ব্যাখ্যা: আমি কেবলমাত্র জল্ফ শুরু করেছি এবং আমি মনে করি না যে আমি এটি সঠিকভাবে ব্যাখ্যা করছি।

aη         alert function, arity of the function can't be reduced by 1 so it stays at 1
  +i_i     concatenate the input with the reversed input
      +η   arity of the add reduced by 1, it just takes the following character (a)
        a  returns the input

1
পিপিসিজিতে আপনাকে স্বাগতম! আমি আপনার অন্য উত্তরটি দেখেছি, এবং আমি এই ভাষাটি ব্যবহার করে আপনার প্রশংসা করি! এটি আমার নিজস্ব আবিষ্কার, আমি আশা করি আপনি এটি পছন্দ করেন :) এটি একটি খুব সুন্দর সমাধান, খুব ভালভাবে সম্পন্ন! আপনি ηসমাধানটি যেভাবে ব্যবহার করেছেন তা খুব ভালভাবেই পছন্দ করি। আপনি মিউ দূর, যেমন দুটি বাইট সংরক্ষণ করতে পারেন: a+i_i+a। (বাকি আর্গুমেন্টগুলি পূরণ করার জন্য জল্ফেরও অন্তর্নিহিত ইনপুট রয়েছে, তবে এটি কোনও সমস্যা নয় যেহেতু একবারে কেবলমাত্র একটি ইনপুট দেওয়া হয়)) আমি আপনার মূল সমাধানটি উত্তরটিতে রেখে দেব, তবুও।
কনার ও'ব্রায়ান

@ সি ও ওব'কে ধন্যবাদ! আমি কেবল একটি গল্ফ করার ভাষা বেছে নিয়েছি যা খুব ভয়ঙ্কর বলে মনে হয় না এবং এদিকে ঝাঁপিয়ে পড়েছিলাম, আমি এটির সার্থকতা উপভোগ করছি। আমি কোথা থেকে এসেছি তা অনুধাবন করার চেষ্টা করছিলাম এবং বুঝতে পেরেছিলাম যে এটি আমার + i_i + এর সূচনাস্থলটি ঠিক করার চেষ্টা করা from তথ্যের জন্য ধন্যবাদ!
ফুলে

3

পাওয়ারশেল, 67

$args|%{$_+-join$_[$_.Length..0]}#}]0..htgneL._$[_$nioj-+_${%|sgra$

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

@ মমজি দ্বারা প্রস্তাবিত হিসাবে স্ট্যাটিক ব্যাপ্তি ব্যবহার করার সময় কোডটি 12 বাইট দ্বারা সংক্ষিপ্ত করা যায়। এটি যাইহোক, ইনপুট দৈর্ঘ্য 9 কেবাইটে সীমাবদ্ধ করে। তাত্ত্বিকভাবে 9MBytes সম্ভব হবে তবে কোডটি উল্লেখযোগ্যভাবে কমিয়ে দেবে।

$args|%{$_+-join$_[9kb..0]}#}]0..bk9[_$nioj-+_${%|sgra$

1
বিকল্প 67 বাইট:param($s)$s+-join$s[$s.Length..0]#]0..htgneL.s$[s$nioj-+s$)s$(marap
17:53

যদি ইনপুট স্ট্রিংয়ের দৈর্ঘ্য কম হয় তবে 9 কেবিটস $args|%{$_+-join$_[9Kb..0]}#}]0..bK9[_$nioj-+_${%|sgra$(55 বাইট)
মজজি

2

ফাজি অক্টোো গুয়াকামোল, 17 বাইট

এফওজি এই চ্যালেঞ্জের চেয়ে নতুন, সুতরাং এটি প্রতিযোগিতামূলক।

^dz''sjX@Xjs''zd^

আল্ট সমাধান 19 বাইটে:

^Czs''.jX@Xj.''szC^

তারা উভয়ই ইনপুট নেয়, সদৃশ এবং বিপরীত, এবং স্ট্যাক যোগদান।

ব্যাখ্যা:

^dz''sj@js''zd^
^                # Get input
 d               # Duplicate ToS (input)
  z              # Reverse ToS
   ''            # Push empty string (for joining separator)
     s           # Move the empty string to the inactive stack
      j          # Join the active stack with the top of the inactive stack as the delimiter and push the result.
       X         # Print the ToS
        @        # End the program
        Xjs''zd^  # Backwards version of the beginning.

এছাড়াও, নন-কেপটিং: পি
কনর ও'ব্রায়েন

@ সিও'বউ উফ! : পি
আর

1

tinyBF , 40

|=||==>|=|=|=+|=>==||==>=|+=|=|=|>==||=|

আমার প্রথম চিন্তা ছিল ব্রেইনফাক, তবে ধনুর্বন্ধনীগুলির সাথে মিল পাওয়া অসম্ভব ... ভাগ্যক্রমে tinyBF এর সহজ প্রবাহ নিয়ন্ত্রণ রয়েছে।

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

মন্তব্য করেছে:

|=|                        Retrieve a byte of input.
|                          Positive (opening) bracket.
   ==                      Output the byte.
   >                       Move the pointer in positive direction.
   |=|                     Retrieve a byte of input.
   =                       Switch direction to negative.
|                          Negative (closing) bracket.
=                          Switch direction.
+                          Increment byte to execute return loop.
|                          Opening bracket.
   =>                      Move the pointer in negative direction.
   ==                      Output the byte.
|                          Closing bracket.
|=|                        Output the null terminator.
|==>|=|=|=+|=>==|          ...and keep null terminating it just to be sure.

মনে রাখবেন যে আপনি যদি এটি 2 বিট নির্দেশিকায় এনকোড করেন তবে এটি আকারটি 10 ​​বাইটে কেটে দেয় (প্যালিনড্রোম হবে না)।


1

পাইথন 3, 59 বাইট

a=input()#
print(a+a[::-1])#([1-::]a+a)tnirp
#()tupni=a

আমি এমন একটি সমাধান সন্ধানের জন্য যথাসাধ্য চেষ্টা করেছি যা কেবল একটি লাইন ব্যবহার করেছিল তবে আমার ভাগ্য নেই।

পাইথন 3, 79 বাইট

a=input()#()tupni=a#
print(a+a[::-1])#([1-::]a+a)tnirp
#a=input()#()tupni=a

আমার আসল প্রচেষ্টা যাতে প্রতিটি লাইন প্যালিনড্রোম। আমি মনে করি না যে এই চ্যালেঞ্জের জন্য এটি প্রয়োজনীয়, তবে আমি এটিকে কেবল ক্ষেত্রে অন্তর্ভুক্ত করেছি।


1
এক-লাইন তবে আরও দীর্ঘ ( lambdaprint((lambda a:a+a[::-1])(input()))#)))(tupni()]1-::[a+a:a adbmal((tnirp
73৩

খুব সুন্দর. আমি ল্যাম্বডাসের সাথে কম পরিচিত কিন্তু আমি আস্তে আস্তে তাদের অভ্যস্ত হয়ে যাচ্ছি। ভাগ করে নেওয়ার জন্য ধন্যবাদ.
নূমান

1

ভিটসি, 9 বাইট

z:Zr?rZ:z
z          Grab all string input from the command line arguments.
 :         Duplicate this stack.
  Z        Print all elements in this stack as a string.
   r       Reverse (reverses an empty stack).
    ?      Go right a stack.
     r     Reverse (reverses the input).
      Z    Print all elements in this stack as a string.
       :   Duplicate the stack (duplicates an empty stack).
        z  Grab all input from the command line (the command line arguments stack is already empty).

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


1

বেফুঞ্জ , 37 বাইট

~:0`!#v_:,
  >:#,_@_,#:>  
,:_v#!`0:~

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

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


1

সি # ( 33 32 + 1) * 2 = 68 66 বাইট

.গ্রিসেট () ব্যবহারের জন্য 2 বাইট সংরক্ষণ করা হয়েছে

s=>s+s.Aggregate("",(a,b)=>b+a);//;)a+b>=)b,a(,""(etagerggA.s+s>=s

ওহ ভাল পুরাতন ল্যাম্বদা, আপনি এটি ধরতে পারেন

Func<string, string> f=<lambda here>

এবং তারপরে এটি কল করুন

f("neverod")

1

পার্ল, 45 বাইট

;print$_=<>,~~reverse;m;esrever~~,><=_$tnirp;

খুব সোজা, printএর ইনপুটটি ( $_=<>) এর পরে reverseআসে। reverseপ্রত্যাবর্তন $_কারণ আমরা এটির সাথে উপসর্গ রেখে স্কেলার প্রসঙ্গে ব্যবহার করছি ~~। তারপরে স্ক্রিপ্টের বিপরীতে আমরা অকার্যকর প্রসঙ্গে ম্যাচটি ( ডিলিমিটার হিসাবে m//ব্যবহার করে ;) করি।

যদি আমরা গ্যারান্টি দিতে পারি তবে আমাদের একটি প্যালিনড্রোম তৈরি করতে হবে না esrever,><=_$tnirpআমরা কোডটি 43 বাইটে সংক্ষিপ্ত করতে পারি :

g.print$_=<>,reverse.m.esrever,><=_$tnirp.g

ব্যবহার

echo -n 'neverod' | perl -e 'g.print$_=<>,reverse.m.esrever,><=_$tnirp.g'
neveroddoreven

পার্ল, 26 বাইট

25 বাইট কোড +1 সহ অন্তর্ভুক্ত -p

$_.=reverse;m;esrever=._$

আমি এটি বৈধ বলে মনে করি না কারণ এর জন্য -pপতাকাটির প্রয়োজন যা আমি মনে করি না যে সত্যিকারের প্যালিনড্রোম তৈরি করতে স্ক্রিপ্ট সামগ্রীগুলিতে সহজেই একত্রিত করা যায়। কাছাকাছি একই কল উপরে ছাড়া এটা সত্য যে উপর নির্ভর করে যেমন -pএকটি যোগ ;(নতুন Perls ... দিকে) লোকচক্ষুর অন্তরালে বন্ধ করতে m//

ব্যবহার

echo -n 'neverod' | perl -pe ';$_.=reverse;m;esrever=._$;'
neveroddoreven

0

পাইথ, 15

 k k+ z_z +k k 

শুরুতে এবং শেষে স্থানটি লক্ষ্য করুন।

পাইথ মধ্যে বেশ বিরক্তিকর কাজ। z_zপছন্দসই প্যালিনড্রোম প্রিন্ট করে তবে এটি দুটি পৃথক লাইনে প্রিন্ট করে z(ইনপুট স্ট্রিং) এবং _zবিপরীত। +দুটি শব্দ একত্রিত করে, তবে +শেষে (এবং শুরুতে) দুটি নতুন বিবৃতি প্রয়োজন। আমি নির্বাচন করি kএবং k, যা খালি স্ট্রিং। তারপরে প্রচুর সাদা স্থান, যা মুদ্রণকে দমন করে (এবং খালি জায়গাগুলি মুদ্রণ করে, যা অবশ্যই লাইন ব্রেকগুলি তৈরি করে)।

যেহেতু সাদা স্থান ব্যতীত যে আউটপুট শুষে +z_z, আপনি প্রতিস্থাপন করতে পারেন karity 0. যেমন সঙ্গে s এবং আক্ষরিক 1 2+ z_z +2 1বা T Z+ z_z +Z T

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


1
পাইথের আমার একটি 11 জন রয়েছে, যা আমি এখনও পোস্ট করি নি কোজ আমি ভেবেছিলাম আপনি অবশ্যই এটি
অপ্টিমাইজার

0

জাভাস্ক্রিপ্ট, 137 বাইট

আমি "মন্তব্য কৌশল" ব্যবহার করছি না তবে আমি পালানো উদ্ধৃতি চিহ্ন ট্রিক LOL ব্যবহার করছি।

"a\"};))''(nioj.)(esrever.)''(tilps.b(tacnoc.b nruter{)b(a noitcnuf";function a(b){return b.concat(b.split('').reverse().join(''));};"\a"

4
আমি এই গণনা মনে করি না; দুটি কেন্দ্রীয় চরিত্র হল ";;স্ট্রিংয়ের ভিতরে একটি শেষ চর হিসাবে যুক্ত করা এটি ঠিক করা উচিত।
ইটিএইচ প্রডাকশনস

যেমনটি দাঁড়িয়েছে এই উত্তরটি অবৈধ। দয়া করে হয় এটি ঠিক করুন বা এটি সরান।
জোনাথন ফ্রেচ

0

জাভাস্ক্রিপ্ট, 58 বাইট

p=>p+[...p].reverse().join``//``nioj.)(esrever.]p...[+p>=p

0

পিএইচপি, 28 + 1 + 28 = 57 বাইট

<?=($x=$argv[1]).strrev($x);#;)x$(verrts.)]1[vgra$=x$(=?<

কমান্ড লাইন আর্গুমেন্ট থেকে ইনপুট নেয়। মাল্টি-ওয়ার্ডের উদ্ধৃতি, মাল্টি-লাইনের জন্য নিউলাইনগুলি এড়িয়ে চলুন।


0

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

s=input();print s+s[::-1]#]1-::[s+s tnirp;)(tupni=s

আমি অবাক হয়েছি এ নিয়ে কেউ ভাবেনি! উদ্ধৃত ইনপুট ( 'বা ") প্রয়োজন। যদি ফাংশনগুলির অনুমতি দেওয়া হয় তবে আমি এর পরিবর্তে 37 বাইটের জন্য এটি করতে পারতাম:

lambda x:x+x[::-1]#]1-::[x+x:x adbmal

0

সি ++ 14, 152 116 বাইট

নামবিহীন ল্যাম্বদা হিসাবে, ধরে নেওয়া sহয়string

[](auto s){decltype(s)r;for(auto c:s){r=c+r;}return s+r;}//};r+s nruter};r+c=r{)s:c otua(rof;r)s(epytlced{)s otua(][

পুরানো সমাধান:

[](auto s){auto r=s;for(auto p=s.rbegin()-1;++p!=s.rend();r+=*p);return r;}//};r nruter;)p*=+r;)(dner.s=!p++;1-)(nigebr.s=p otua(rof;s=r otua{)s otua(][

ব্যবহার:

auto f=[](auto s){decltype(s)r;for(auto c:s){r=c+r;}return s+r;};

main(){
 string a="123456789";
 cout << f(a) << endl;
}

0

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

«q«Â

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

ব্যাখ্যা:

        # Bifurcate (short for Duplicate & Reverse) the (implicit) input
         #  i.e. "neverod" → "neverod" and "doreven"
 «       # Concat both together
         #  i.e. "neverod" and "doreven" → "neveroddoreven"
  q      # Exit the program (and implicitly output the concatted result)
   «Â    # No-ops

বা বিকল্পভাবে:

R«q«R

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

যেখানে Rবিপরীত হয়, এবং «ইনপুটটি আবার অন্তর্নিহিতভাবে সমাহার করে নেয়।


দ্রষ্টব্য: আমাদের যদি ইনপুটটির neverodorevenজন্য আউটপুট দেওয়ার অনুমতি দেওয়া হয় neverodযা এখনও প্যালিনড্রোম, এটি প্যালিনড্রাইজ বিল্টিনের পরিবর্তে 1 বাইটে করা যেতে পারে :

û

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


0

x86-64 বিধানসভা (মাইক্রোসফ্ট x64 কলিং কনভেনশন), 89 বাইট:

80 39 00 48 8B D1 4C 8B C1 74 0B 48 FF C2 49 FF C0 80 3A 00 75 F5 48 FF CA 8A 02 41 88 00 48 8B C2 48 FF CA 49 FF C0 48 3B C1 77 ED C3 ED 77 C1 3B 48 C0 FF 49 CA FF 48 C2 8B 48 00 88 41 02 8A CA FF 48 F5 75 00 3A 80 C0 FF 49 C2 FF 48 0B 74 C1 8B 4C D1 8B 48 00 39 80

অনেকত্রিত:

 0000000000000000: 80 39 00           cmp         byte ptr [rcx],0
 0000000000000003: 48 8B D1           mov         rdx,rcx
 0000000000000006: 4C 8B C1           mov         r8,rcx
 0000000000000009: 74 0B              je          0000000000000016
 000000000000000B: 48 FF C2           inc         rdx
 000000000000000E: 49 FF C0           inc         r8
 0000000000000011: 80 3A 00           cmp         byte ptr [rdx],0
 0000000000000014: 75 F5              jne         000000000000000B
 0000000000000016: 48 FF CA           dec         rdx
 0000000000000019: 8A 02              mov         al,byte ptr [rdx]
 000000000000001B: 41 88 00           mov         byte ptr [r8],al
 000000000000001E: 48 8B C2           mov         rax,rdx
 0000000000000021: 48 FF CA           dec         rdx
 0000000000000024: 49 FF C0           inc         r8
 0000000000000027: 48 3B C1           cmp         rax,rcx
 000000000000002A: 77 ED              ja          0000000000000019
 000000000000002C: C3                 ret
 000000000000002D: ED                 in          eax,dx
 000000000000002E: 77 C1              ja          FFFFFFFFFFFFFFF1
 0000000000000030: 3B 48 C0           cmp         ecx,dword ptr [rax-40h]
 0000000000000033: FF 49 CA           dec         dword ptr [rcx-36h]
 0000000000000036: FF 48 C2           dec         dword ptr [rax-3Eh]
 0000000000000039: 8B 48 00           mov         ecx,dword ptr [rax]
 000000000000003C: 88 41 02           mov         byte ptr [rcx+2],al
 000000000000003F: 8A CA              mov         cl,dl
 0000000000000041: FF 48 F5           dec         dword ptr [rax-0Bh]
 0000000000000044: 75 00              jne         0000000000000046
 0000000000000046: 3A 80 C0 FF 49 C2  cmp         al,byte ptr [rax+FFFFFFFFC249FFC0h]
 000000000000004C: FF 48 0B           dec         dword ptr [rax+0Bh]
 000000000000004F: 74 C1              je          0000000000000012
 0000000000000051: 8B 4C D1 8B        mov         ecx,dword ptr [rcx+rdx*8-75h]
 0000000000000055: 48 00 39           add         byte ptr [rcx],dil
 0000000000000058: 80

মনে রাখবেন যে retনির্দেশাবলীর পরে কোডটি 2Cঅ্যাক্সেসযোগ্য নয় তাই এটি যে বাজে কথা তা বিবেচ্য নয়


0

জাপট , 4 বাইট

êêêê

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

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

U.ê("ê".ê("ê"))  Transpiled to JS

       .ê("ê")   String.ê(string): true if `this` is palindrome
    "ê".ê("ê")   true (treated same as 1)
U.ê(          )  String.ê(number): palindromify
                   "abc"->"abccba" if `number` is odd, "abcba" otherwise
                 `true` is odd number, so we achieve the desired function

বিকল্প 4 বাইট

pwwp

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

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

U.p("w".w("p"))  Transpiled to JS
    "w".w(   )   Reverse of "w" ("p" is ignored)
U.p("w")         Append U.w(), which is reverse of U, to the right of U

0

ব্যাকহ্যান্ড , 33 27 বাইট

iH~0}|{<:: oi]io ::<{|}0~Hi

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

সমাধান এখানে অনেক ভিন্ন, এই এক আসলে আছে palindromised কোড ব্যবহার!

ব্যাখ্যা:

i  0 |{      Get the first character and enter the loop
        :  o    Output the character while preserving it
              i  :     Get input and duplicate it
                   <{  Turn around
             ]         Increment the copy to check if EOF   
    }| <    Loop again if not EOF
  ~   If EOF, pop the extra copy of EOF
 H    Terminate, printing the contents of the stack.

সামগ্রিকভাবে, অব্যক্ত নির্দেশাবলী হ'ল:

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