বিপরীতমুখী বিপরীত


19

আপনার কাজ সহজ। প্রোগ্রামটি স্ট্যান্ডার্ড ইনপুট থেকে পাঠ্যের একটি লাইনে পড়ে এবং এটি একই পাঠ্যকে একটি অক্ষর-বিপরীত আকারে মুদ্রণ করে। এটি অন্য কিছু মুদ্রণের অনুমতি নেই।

উদাহরণ স্বরূপ:

ইনপুট: "হ্যালো!", আউটপুট: "! ওলএএইচ"

ক্যাচটি হ'ল , সোর্স কোডটি যদি চরিত্র-বিপরীত হয় তবে আপনার প্রোগ্রামটি ঠিক একই জিনিস করতে সক্ষম হতে হবে!

স্কোরিং: বোরিং সীমাবদ্ধ করার জন্য নিম্নলিখিত সংশোধন সহ স্ট্যান্ডার্ড কোড-গল্ফ স্কোরিং প্রযোজ্য

//margorp
program//

শৈলীর উত্তর: যে কোনও সমাধান যা প্যালিনড্রোম তা স্কোরের জন্য 25% জরিমানা ব্যয় করতে পারে ed এই জরিমানাটি এখনও প্রযোজ্য, যদি আপনি উদাহরণস্বরূপ, প্রোগ্রামটিতে এমন অক্ষরগুলি সন্নিবেশ করান যার কোনও কার্যকর প্রভাব নেই, কেবলমাত্র প্যালিনড্রোম ভাঙতে।


2
"দরকারী প্রভাব" সম্ভবত উদ্দেশ্যমূলকভাবে নির্দিষ্ট করা যায় না। গল্ফস্ক্রিপ্টে যেমন, কীভাবে -1%#%1-/1বা -1%#%(0?
পিটার টেলর

উত্তর:


14

এপিএল, ৫

⌽⍞⍝⍞⊖

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

⍬,⌽,⍞,⊖,⍬

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

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


14

ইউনিক্স শেল - 8 + 25% = 10

rev||ver

পূর্ববর্তী উত্তরটি cat|tacআসলে কাজ করে না, tacলাইনের ক্রমকে বিপরীত করে, কোনও লাইনের অক্ষরের ক্রম নয়।


10

হাস্কেল, 53

main=niam
niam=interact reverse
esrever tcaretni=main

প্রযুক্তিগতভাবে কোনও প্যালিনড্রোম নয়, তবে যেহেতু ফাংশন ঘোষণার আদেশের কোনও গুরুত্ব নেই, একবার আপনার বিপরীত হয়েছে ঠিক একই প্রোগ্রামটি।


দুর্দান্ত (+1)। আমি বিশ্বাস করি না যে এটি চেষ্টা করার আগে এটি আসলে কিছু করেছিল ( লিঙ্ক )।
মার্টিন থোমা

সরানো main=niamমাঝামাঝি থেকে ঘোষণা, এবং আপনি একটি যে শব্দ কবিতা প্রভৃতি উলটা করিয়া পড়িলেও একই থাকে পেতে।
জোহানেস কুহান

@ জোহনেসকুহন হ্যাঁ, আমি স্বীকার করি এটি এখনও অন্যরকম একটি চেহারা সহ "বিরক্তিকর" প্যালিনড্রোম সমাধান।
lortabac

10

রুবি, 37

eval <<1.reverse#
esrever.steg stup
1

বিপরীত:

1
puts gets.reverse
#esrever.1<< lave

হেরিস্ট্রিংস, লুক্কায়িত! +1
ডুরকনবব

6

টিসিএল, 78

puts [string rev [gets stdin]];#\
]]nidts steg[ ver gnirts[ stup;# tixe emaner

প্যালিনড্রোম নয়।



এই প্রোগ্রামটিতে "পুনর্নবীকরণ প্রস্থান" এর কোন কার্যকর প্রভাব আছে? (আমি টিসিএল জানি না)
vsz

কমান্ডটির নাম পরিবর্তন exitকরে #(# টি প্যারামিটার, কোনও মন্তব্যের শুরু নয়)। \#পরবর্তী লাইনে কার্যকর করা হবে #(মন্তব্যটি শুরু করা হয়নি কারণ পালিয়ে গেছে) যা নতুন exit
জোহানেস কুহান

6

জিএস 2, 2

(হ্যাঁ, এই ভাষাটি চ্যালেঞ্জের আগে তৈরি হয়েছিল No না, এটি কোনও রসিকতা বা ফাঁকফোকর নয় AS ASCII স্পেস ( 0x20) বিপরীত )

সম্পাদনা: হ্যাঁ, মানুষ, এই প্রশ্নটি বেশ পুরানো? আমি যদি খুব শীঘ্রই কমিট করতাম : <আমি এই উত্তরটি কেবল রেখে যাব কারণ এটি পাস করা খুব ভাল good


3

গল্ফস্ক্রিপ্ট, 9 (7 * 1.25 = 8.75)

-1%#%1-

নোংরা, নোংরা, নোংরা, তবে অত্যন্ত সংক্ষিপ্ত। -1%এর অর্থ "প্রতিটি উপাদান (চরিত্র), পিছন দিকে নির্বাচন করুন" এবং এর #অর্থ "লাইন মন্তব্য"। বাকিটি গল্ফস্ক্রিপ্টের I / O যাদুবিদ্যার কিছুটা মাত্র।

এটি হ'ল সংক্ষিপ্ততম "ক্লিন" (কোনও মন্তব্য নেই) সমাধান আমি খুঁজে পেয়েছি ( 14 * 1.25 = 17.5 ):

'';-1%..%1-;''

অর্থ: একটি খালি স্ট্রিংটি চাপুন, এটিকে ফেলে দিন, ইনপুটটি বিপরীত করুন, এটি দুটিবার ক্লোন করুন, নিজেই এটি ভাগ করুন (দুটি কপি ব্যবহার করুন এবং খালি অ্যারে তৈরি করুন), খালি অ্যারে থেকে সমস্ত মুছে ফেলুন, এমটিপি অ্যারেটি ফেলে দিন, খালি স্ট্রিংটি চাপুন এবং (স্পষ্টতই) স্ট্যাকটি মুদ্রণ করুন।


আমার এটা আশা করা উচিত ছিল। এমনকি ৫০০% জরিমানার ক্ষেত্রে এটিকে বিজয়ী করার উচ্চ সুযোগ থাকবে।
বনাম

@vsz আমি অবশ্য গল্ফস্ক্রিপ্টে কোনও মন্তব্য (অর্থাত্ পরিষ্কার) সমাধান খুঁজছি।
জন ডিভোরাক

যদি ইনপুটটিতে 1 টি না থাকে ..
জোহানেস কুহান

@ জোহনেসকুহান আমি সেই "সমাধান" ফেলে রেখেছি।
জন ডিভোরাক

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

3

রুবি, 44

puts gets.reverse#esrever.steg stup

একটি সাধারণ প্রোগ্রামের শেষে কেবল একটি মন্তব্য: পি

35 টি অক্ষর, + 25% = 44



2

পাইথন 3, 42

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

ক্রেডিট

  • আমার দ্বারা নির্মিত 49 + 25% = 61.25 এর স্কোর সহ প্রাথমিক সংস্করণ
  • .2১.২৫ থেকে ৫১.২৫ এ স্কোরটি উন্নত করার জন্য আরশাজিকে ধন্যবাদ
  • :-)আমার দ্বারা নির্মিত 42 ( ) এর স্কোর সহ নতুন সংস্করণ

print(input()[::-1])#)]1-::[)(tupni(tnirpস্কোরটি ৫১.২৫ এ হ্রাস করার পরিবর্তে আপনি পাইথন 3 ব্যবহার করতে পারেন ।
আর্শাজি

1
কাটছে না ...
অলিভার নি

"যে কোনও সমাধান যা প্যালিনড্রোম তা স্কোরকে 25% জরিমানা করতে হবে, এই জরিমানাটি এখনও প্রযোজ্য যদি আপনি উদাহরণস্বরূপ, প্রোগ্রামে অক্ষরগুলি সন্নিবেশ করান যার কোনও কার্যকর প্রভাব নেই, কেবল প্যালিনড্রোম ভাঙার জন্য । " আমি যুক্তি দেব যে এটি ;এমন একটি সন্নিবেশ যা কোনও কার্যকর প্রভাব ফেলে না।
অলিভার নি

2

রেব্মু : 9 ( ডাব্লু / পেনাল্টি) বা 13 (ছাড়াই)

বোরিং রেবমু দ্রবণটি 9 এবং প্যালিনড্রমিক শাস্তি বহন করে। আমি যাইহোক এটি "ঠিক কারণ" প্রদর্শন করব:

rnRVaVRnr

ব্যবহার unmushing অক্ষর রাজধানী রান ঠাহর এর কৌতুক পৃথক শব্দ, এবং একটি নেতৃস্থানীয় রাজধানী রান উপায়ে আমরা সেট শব্দ উপার্জন করছি না অভাব, আমরা পাঁচটি সাধারণ শব্দ উৎপন্ন:

rn rv a vr nr

যা সমতুল্য কোডের জন্য একটি সংক্ষিপ্ত বিবরণ (এছাড়াও আইনগত রেবমু):

return reverse a vr nr

ভিআর এবং এনআর অর্থহীন তা সত্য নয়, কারণ কোনও কিছুকে নির্ধারিত না হওয়া সত্ত্বেও এগুলি বৈধ শব্দ valid সুতরাং মূল্যায়নকারী কেবল চালায় return reverse a... এটি উভয়ভাবেই কাজ করে। তবে বিরক্তিকর প্রতারণার সাথে এটি এক অর্থে মিল: কোডটি মন্তব্য করা হয়নি, তবে এটি মারা গেছে এবং এক পথে কার্যকর করা হয়নি।

শাস্তি ব্যয় না করে এমন আরও উত্তেজনাপূর্ণ কিছুটির জন্য, কীভাবে এই 13 টি চরিত্রের সমাধান:

a VR :rv AvrA

এর প্রসারিত এবং বিপরীত পথে কীভাবে প্রসেস করা হবে তা কীভাবে দেখুন look ফরওয়ার্ড করুন:

a               ; evaluate a, as it is a string it has no side effects
vr: :reverse    ; "set" vr to mean what a "get" of reverse means now
a: vr a         ; assign a to calling "vr" on a, effectively reversing
                ;   ^-- result of assign is last expression, the answer!

পিছনে হিসাবে ArvA vr: RV a:

a: reverse a    ; assign A to its reversal
vr: rv: a       ; make the abbreviation vr equal to assignment of a to rv
                ;   ^-- result of assign is last expression, the answer!

ডাউনসাইডে, পিছনের দিকের রূপটি বিপরীতে সংক্ষিপ্তকরণটি ওভাররাইট করছে। তবে ওহে, এটি কোনও প্যালিনড্রোম নয় এবং এটি কেবল ১৩ টি অক্ষর। :-)

(দ্রষ্টব্য: এটি ধরে নিয়েছে যে আপনি / আরগস মোডে রেবমু চালাচ্ছেন, যেখানে প্রোগ্রামটি কমান্ড লাইনে দোভাষীর কাছে পাঠানো ডিফল্ট যুক্তি এবং আপনি ফলাফলটি স্বীকার করেন standard স্ট্যান্ডার্ড ইনপুট থেকে পড়া যদি আসলে প্রয়োজন হয় তবে জিনিসগুলি সরল সমাধানের জন্য উদাহরণস্বরূপ 9 থেকে 11 টি অক্ষর পর্যন্ত বৃদ্ধি করুন: rnRVrArVRnrএবং যদি আপনাকে প্রোগ্রামটির মধ্যে থেকে ইন্টারপ্রেটারের এক্সপ্রেশন আউটপুট গ্রহণ করার পরিবর্তে মানক আউটপুটে মুদ্রণ করতে হয় যা দু'একটি অক্ষরও যুক্ত করতে পারে))


2

জাভাস্ক্রিপ্ট, 62 * 1.25 = 78

i.split('').reverse().join('')//)''(nioj.)(esrever.)''(tilps.i

খুব সৃজনশীল নয়, তবে সেরাটি আমি নিয়ে আসতে পেরেছি। (ধরে নেওয়া যায় যে ইনপুটটি ভেরিয়েবলে সঞ্চিত রয়েছে i)

আমি এটি পেয়েছি:

63 টি অক্ষর, কোনও প্যালিনড্রোম নেই

i.split('').reverse().join('')//)a(nioj.)(esrever.)''=a(tilps.i

তবে এটি প্রতারণার মতো অনুভূত হয়েছিল। : পিআই আরও অনেক তুচ্ছ পরিবর্তন করতে পারে (যেমন i['split']পরিবর্তে ব্যবহার করা i.split) তবে তারা এখনও প্রতারণার মতো বোধ করে: পি


ধরে নিই যে ইনপুটটি ভেরিয়েবল আই-তে সংরক্ষণ করা হয় (p=a=>a&&p()==`(p=${p})(i)`?i:i.split``.reverse().join``)(i)(60 বাইট) এটি করে।
Esc Điệp

2

পাইকে, 2 (+ 25%), প্রতিযোগিতামূলক

_

পাইক সুস্পষ্টভাবে ইনপুট নেয় এবং সুস্পষ্টভাবে আউটপুট দেয়।

_ বিপরীত ফাংশন।


1

টিসিএল, 99

proc unknown args {puts "Hello World!"}
}"!dlroW olleH" stup{ sgra nwonknu corp

যদি কোন কমান্ড অস্তিত্বহীন থাকে তবে তাকে একটি বিশেষ unknownকমান্ড বলা হয় যা কমান্ডটি লোড করতে পারে। বা অন্য মজার জিনিস করুন।


1

টি-এসকিউএল, 86 * 1.25 = 108

এসকিউএল সার্ভার ২০০৮ (এবং আরও নতুন) এর জন্য এটি বিরক্তিকর প্যালিনড্রোমিক এন্ট্রি কেবল এটি দেখানো সম্ভব।

DECLARE @ VARCHAR(MAX)='Hi'PRINT REVERSE(@)--)@(ESREVER TNIRP''=)XAM(RAHCRAV @ ERALCED

@ ইনপুট পাঠ্য ধারণ করে, উদাহরণস্বরূপ "হাই"। এই প্রবেশের চর গণনাটি একটি দ্বি-চর ইনপুট স্ট্রিংয়ের জন্য।


1

কেগ , সিল (1 + 0.25) = 2 বাইট

?

এটি ইনপুট নেয় এবং বিপরীত হয়, এবং অন্তর্নিহিত আউটপুট আক্ষরিকভাবে আউটপুট দেয়। Tio



0

কিউবিআইসি , 14 + 25% = 18 বাইট

;?_fA|#|Af_?;

একটি প্যালিনড্রোমিক উত্স কোড নিযুক্ত করে। এটি করার জন্য দুটি স্বতন্ত্র উপায় ব্যবহার করতে কিছুটা বেশি সময় লাগে (34 বাইট):

;[_lA|,1,-1|Z=Z+mid$(A,a,1)#|Af_?;

ব্যাখ্যা:

Read the input string from the command line as A$
;

FOR len(A$); a >= 1; a--
[        Starts a FOR loop
_l...|   returns the length the argument(here, A$); sets the starting point of the loop
,1       set the end point of the loop
,-1      FOR loop incrementer (or decrementer in this case)
|        Ends the argument list for the FOR loop

On each FOR iteration, add the right-most character of the input to Z$
Z=Z+mid$(A,a,1)

The cheat:
# starts a string literal, hiding the flipped source.
    The literal is closed implicitly at the end-of-file.
    The FOR loop is closed implicitly at the end-of-file.
    Z$ gets printed implicitly at the end of the program if it's non-empty

The flipped source is the same as my palindrome-code:
;       reads in A$ from the cmd line   
 ?      PRINT
  _fA|  The reversed version of A$
      # And hide the rest of our source in a literal  

0

পুশি , 7 বাইট (5 + 25%)

@"i"@

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

এটি একটি প্যালিনড্রোম হিসাবে 25% জরিমানা অনুগ্রহ করে তবে এটি আমার পক্ষে সেরা। প্রোগ্রামটির চারপাশে কোন উপায়ে চালানো যায়, তা এই 3 টি আদেশ দেয়:

@     \ Reverse the input
 "    \ Print
  i   \ Exit

বদলে iজন্য c(স্পষ্ট স্ট্যাক) অথবা \(মন্তব্য) একই প্রভাব রয়েছে।



0

আর , 65 বাইট

সম্পাদনা: 25% পেনাল্টি ধন্যবাদ একটি তুচ্ছ, এমনকি আমার কাছে অদৃশ্য, গ্রিমির পরিবর্তনের জন্য ধন্যবাদ thanks

stringi::stri_reverse(scan(,""))#))'',(nacs(esrever_irts::ignirts

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

বলুন আর অন্তহীন স্ট্রিং হ্যান্ডেল করার ক্ষমতা, এমনকি যখন আপনি মত স্ট্রিং জন্য ডিজাইন করা প্যাকেজ ব্যবহার করতে হ্যালো stringi... বমি করার


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