আমি উত্স কোডটি উল্টে দিচ্ছি, আপনি ইনপুটটিকে অস্বীকার করবেন!


36

স্থূল চেরা বন্ধ একটি এর চেরা বন্ধ । তাদের উপরে যান!

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

উদাহরণ

ধরা যাক আপনার উত্স কোডটি ABCএবং এর ইনপুটটি 4। আমি যদি CBAপরিবর্তে লিখি এবং এটি চালিত করি তবে আউটপুট অবশ্যই হবে -4

ধরা যাক আপনার উত্স কোডটি ABCএবং এর ইনপুটটি -2। আমি যদি CBAপরিবর্তে লিখি এবং এটি চালিত করি তবে আউটপুট অবশ্যই হবে 2

একটি ইনপুট 0দিতে পারে 0বা -0আপনি যদি স্বাক্ষরিত শূন্যকে সমর্থন করেন তবে তা দেওয়া -0উচিত 0


5
আমাদের কেন একই প্রশ্নের একটি অনুলিপি দরকার?
খ্রিস্টান

5
@ ক্রিশ্চিয়ান এটি যে একটি ধ্রুবক সংখ্যা (এবং এটির প্রত্যাখ্যান) ছাড়িয়ে যায় যেখানে এই ব্যক্তিকে ইনপুট নিতে হয় এবং এটি ফেরত / প্রত্যাখ্যান করতে হয়। অনেক ভাষায় একটি খুব আলাদা কাজ।
এডম

5
হ্যাঁ, এখন আমি পার্থক্যটি দেখতে পাচ্ছি। একজনকে খুব সাবধানে পড়তে হবে
খ্রিস্টান

যদি সি # এর মতো কাঠামোগত ভাষা ব্যবহার করে থাকেন, আপনি কি কেবল লাইনগুলি পরিবর্তন করছেন?
পেরেপুটুয়াল

@ পার্পেটুয়ালজে না, অক্ষরের তালিকার মতো উত্সটি দেখুন, যার কয়েকটি লাইন ব্রেক রয়েছে।
অ্যাডাম

উত্তর:


18

পাওয়ারশেল , 18 14 বাইট

$args#"sgra$"-

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

তুচ্ছ মন্তব্য-অপব্যবহারের প্রথম উত্তর


4
ওহ খোদা. না এই আবার।
JL2210

1
"তুচ্ছ মন্তব্য-অপব্যবহারের উত্তরগুলির মধ্যে প্রথম" টিআইও লিঙ্কগুলি ছাড়িয়ে!
জোনা

18

জে , 3 বাইট

-&0

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

-&0 "যুক্তি বিয়োগ 0"

0&- "0 বিয়োগ তর্ক"


3
এটি সত্যিই বেশ চমৎকার :)
কনার ও'ব্রায়েন

3
চালাক, আমি সেটার কথা ভাবি নি, বরং ][-ইত্যাদি
অ্যাডাম


11

x86 মেশিন কোড, 3 বাইট

C3 D8 F7

উপরের কোডের বাইটগুলি একটি ক্রিয়া সংজ্ঞায়িত করে যা কোনও অপ-অপশন: এটি কেবল কলারের কাছে নিয়ন্ত্রণ ফিরিয়ে দেয়। এই ফাংশনটি অনুসরণ করে দুটি আবর্জনা বাইট যা কার্যকর করা হবে না, যেহেতু তারা ফিরে আসার পরে আসে - তারা "কোনও মানুষের জমি" হয় না। একত্রিতকারী স্মৃতিবিদ্যায়:

ret                     ; C3    
fdiv  st(0), st(7)      ; D8 F7

ঠিক আছে, সুতরাং এখন কিছু ট্রল আসে এবং বাইটের ক্রমটিকে বিপরীত করে:

F7 D8 C3

এই বাইটগুলি এখন একটি ফাংশন সংজ্ঞায়িত করে যা নিবন্ধরে একটি পূর্ণসংখ্যার যুক্তি নেয় EAX, এটিকে উপেক্ষা করে এবং কলারের কাছে নিয়ন্ত্রণ ফিরিয়ে দেয়। একত্রিতকারী স্মৃতিবিদ্যায়:

neg  eax     ; F7 D8
ret          ; C3

সুতরাং… এটা সহজ ছিল। :-)

নোট করুন যে আমরা "প্রত্যাখ্যান" নির্দেশকে আমরা যে কোনও কিছু করতে চাই, কারণ এটি "ফরোয়ার্ড" ওরিয়েন্টেশনে কখনই কার্যকর করা হয় না এবং কেবল "বিপরীত" অভিযোজনে সম্পাদিত হয়। অতএব, আমরা আরও জটিল জিনিস নির্বিচারে করতে একই প্যাটার্নটি অনুসরণ করতে পারি। উদাহরণস্বরূপ, আমরা এখানে আলাদা রেজিস্টারে একটি পূর্ণসংখ্যার যুক্তি নিই (বলুন, EDIসাধারণত * নিক্স সিস্টেমে ব্যবহৃত সিস্টেম ভি কলিং কনভেনশন অনুসরণ করতে), এটিকে অবহেলা করুন এবং এটি প্রচলিত EAXরেজিস্টারে ফিরিয়ে দিন :

C3      ret
D8 F7   fdiv  st(0), st(7)      ;  \ garbage bytes that
F8      clc                     ;  | never get executed,
89      .byte 0x89              ;  / so nobody cares

  ↓ ↓

89 F8   mov  eax, edi
F7 D8   neg  eax
C3      ret

10

জেলি , 2 বাইট

oN

এটি অনলাইন চেষ্টা করুন! এবং এর বিপরীত

oN - (input) OR ((input) negated)

No - ((input) negated) OR (input)

হেই, আপনিও করতে পারেন ḷN, ওআর-লজিকের দরকার নেই। : ডি
এরিক আউটগলফার

10
Na, শব্দগুলি aNনান্দনিক প্রভাব দেয় :)
জোনাথন অ্যালান

7

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

বেনামে পরিচয় ফাংশন, 0বিপরীত থেকে বিয়োগে রূপান্তরিত ।

id--)-0(

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

বিপরীত:

(0-)--di

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


2
আপনি আপনার বিপরীত সংস্করণ দিয়ে কোড হাইলাইট ভেঙে পরিচালনা করেছেন!
টিম

@ টিম কৌতূহলী পরীক্ষণটি পরামর্শ দেয় যে কোনও ডান প্রথম বন্ধনীর পরে যখন কোনও মন্তব্য শুরু হয়।
আরজান জোহানসেন

6

হোয়াইটস্পেস , 48 বাইট

S S S N
S N
S T N
T   T   T   T   T   T   N
S T N
N
N
T   S N
T   N
S S T   N
T   T   S S T   T   T   T   T   N
T   S N
S N
S S S 

বর্ণ S(স্থান), T(ট্যাব) এবং N(নতুন-লাইন) কেবল হাইলাইট হিসাবে যুক্ত করা হয়েছে।

আমি উত্স কোডটি বিপরীত করার জন্য আমার হোয়াইটস্পেসের উত্তরটির সামান্য পরিবর্তন , আপনি আউটপুটটিকে তুচ্ছ! চ্যালেঞ্জ

এটি অনলাইন বা চেষ্টা করে দেখুন চেষ্টা করুন এটি অনলাইন বিপরীত করে দেখুন (কেবলমাত্র কাঁচা স্পেস, ট্যাব এবং নতুন লাইনের সাহায্যে)।

ব্যাখ্যা:

সংক্ষিপ্ত প্যালিনড্রোম হ'ল প্রস্থান প্রোগ্রামটি ব্যবহার করা NNN
নিয়মিত প্রোগ্রামটি করবে:

SSSN   # Push 0 to the stack
SNS    # Duplicate it
TNTT   # Read STDIN as integer, and store it at heap address 0
TTT    # Retrieve the input from heap address 0, and push it to the stack
TNST   # Pop and print the top of the stack as number
NNN    # Exit the program, making everything after it no-ops

বিপরীত প্রোগ্রামটি করবে:

SSSN   # Push 0 to the stack
SNS    # Duplicate it
TNTT   # Read STDIN as integer, and store it at heap address 0
TTT    # Retrieve the input from heap address 0, and push it to the stack
SSTTN  # Push -1 to the stack
TSSN   # Multiply the top two values on the stack together
TNST   # Pop and print the top of the stack as number
NNN    # Exit the program, making everything after it no-ops

একটি সংখ্যা ধাক্কা দেওয়ার ছোট অতিরিক্ত ব্যাখ্যা:

  • প্রথম S : স্ট্যাক ম্যানিপুলেশন সক্ষম করুন
  • দ্বিতীয় S : স্ট্যাকের জন্য একটি নম্বর চাপুন
  • S অথবা T : যথাক্রমে ধনাত্মক / নেতিবাচক
  • কিছু S/ তার Tপরে একটি অনুসরণ N: বাইনারি সংখ্যা, কোথায় S=0এবংT=1

অর্থাৎ SSTTSTSNধাক্কা দেয় -10। আমাদের জন্য আমাদের 0স্পষ্টর প্রয়োজন নেই S=0, তাই সহজ SSSNবা SSTNযথেষ্ট।




5

মস্তিষ্ক-ফ্লাক , 7 বাইট

#)]}{[(

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

বিপরীত:

([{}])#

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

দ্রষ্টব্য: কেবলমাত্র দোভাষীদের মধ্যে কাজ করে যা মন্তব্যগুলিকে সমর্থন করে (উদাঃ বৃষ্টি-ফ্ল্যাকে কাজ করে তবে ব্রেনহ্যাকে নয়)


যদি আমরা কেবল বাইটগুলি উল্টানোর পরিবর্তে খোলার / বন্ধকরণ বন্ধনীর অদলবদল করি তবে আমরা মন্তব্যগুলি ব্যবহার না করেই এটি 8 টি বাইটে করতে পারি:

({}[{}])

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


এটি কি অপরিবর্তিত আচরণের অপব্যবহার? আমি মনে করি না ব্রেন-ফ্ল্যাক স্পেসিফিকেশন এ জাতীয় বন্ধনীকে অনুমতি দেয়।
হাইলিরাডিওঅ্যাকটিভ

@ টিউলাইটস্পার্কল #একটি মন্তব্য শুরু করে, তাই মূল সংস্করণে প্রথম বন্ধনী উপেক্ষা করা হবে।
রিলি

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

@ টিউলাইটস্পার্কল স্পষ্টকরণের জন্য একটি নোট যুক্ত করেছে। ধন্যবাদ।
রিলে

মজা সামান্য চ্যালেঞ্জ: আপনি যদি কেবল উল্টানোর পরিবর্তে খোলার / বন্ধ করার বন্ধনী অদলবদল করেন তবে আপনি কি মন্তব্য ছাড়াই এটি করতে পারেন?
DJMcMayhem



4

মারিওল্যাং , 22 বাইট

;:
=#
:)!
--
<(
"
[>
;

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

ইওএফ-তে পড়ার আগে তিনি কেবল নম্বরটি ইনপুট করেন এবং আউটপুট করেন

বিপরীত:

;
>[
"
(<
--
!):
#=
:;

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

ইনপুট মান 0 না হওয়া পর্যন্ত এবং আউটপুট মান-ইনপুট না হওয়া পর্যন্ত সে লুপ করে, তিনি নম্বরটি বলে।


4

আর , 23 বাইট

আমি মন্তব্য কৌশল না করে এটিকে একবারে যাওয়ার সিদ্ধান্ত নিয়েছি।

অগ্রবর্তী

`+`=scan;""+-0;nacs=`+`

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

বিপরীত

`+`=scan;0-+"";nacs=`+`

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

ফরোয়ার্ড সংস্করণে +বাইনারি অপারেটর হিসাবে অভিনয় করা -হয় এবং এটি একটি অযৌক্তিক অপারেটর।

বিপরীতে +এলোমেলো হয়ে যায় এবং -বাইনারি হয়। সুতরাং স্ক্যান ফাংশনটি আর্গুমেন্ট গ্রহণ করে: file=""যার অর্থ স্টিডিন এবং what=0এটিও পূর্বনির্ধারিত। সুতরাং যখন +অরিয়রিটি হয় প্রথম যুক্তিটি ডানদিকে থাকে, যখন এটি বাইনারি হয় প্রথম যুক্তিটি বাম দিকে থাকে।

দ্য

;nacs=`+`

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


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


4

পার্ল 5 ( -p), 7 6 বাইট

-1 @Primo ধন্যবাদ

$_*=$#

Tio

একটি মন্তব্য ইনপুট পরিবর্তন করে না

#1-=*_$

ইনপুট নেতিবাচক

$_*=-1#

Tio


-1: $_*=$# Tio । নোট করুন যে #অবশ্যই প্রোগ্রামটির একেবারে শেষ বাইট হতে হবে, অন্যথায় এটি $#<empty> নামের অ্যারের শেষ সূচীর পরিবর্তে পরিবর্তনশীল হিসাবে ব্যাখ্যা করা হবে ।
প্রিমো

1
তবে আমি বুঝতে পারি না এটি কীভাবে কাজ করে কারণ মুদ্রণ করার চেষ্টা করা $#হয় ত্রুটি দেয় (যদি # শেষ চরিত্রটি না হয়) বা কিছুই না
নাহুয়েল ফিউইলুল

শুধুমাত্র -pবা সাথে কাজ করে বলে মনে হচ্ছে -n। আমার সন্দেহ হয় বয়লারপ্লেট এর সাথে কিছু করার আছে ...
প্রিমো

2
@ প্রিমো এটি কাজ করে কারণ কোডের পরে -p/-nএকটি যুক্ত ;করে। যার অর্থ এটি $#আসলে $#;: অ্যারের আকার @;। যদি @;পরিবর্তনের আকার হয় , ফলাফল আর সঠিক হয় না ( টিআইও )। যাইহোক, এটি সুপার চালাক, ভাল কাজ! :)
দাদা

এর ব্যাখ্যাটি দেখা যেতে পারে perl -MO=Deparse -p <(echo -n '$_*=$#')কারণ এটি মনে হয় perl -MO=Deparse -pe '$_*=$#'একটি নতুন লাইন যুক্ত করেছে
নাহুয়েল ফিউইলুল


4

ব্যাকহ্যান্ড , 6 5 বাইট

I@-Ov

এটি অনলাইন চেষ্টা করুন! দ্বিগুণ করে দেখুন!

ব্যাকহ্যান্ডে পয়েন্টারের প্রকৃতির কারণে কিছুটা জটিল তৈরি হয়েছিল। আমি মনে করি না যে কোনও সংক্ষিপ্ত হা হা পাওয়া সম্ভব , আমি ভুল বলে প্রমাণিত করেছি। এটি কোনও নির্দেশকে সদৃশ করে এবং দুটি প্রোগ্রামের মধ্যে ইনপুট, আউটপুট এবং সমাপ্ত কমান্ড উভয়ই পুনরায় ব্যবহার করে। এখন আমার মনে হয় এটি সর্বোত্তম, যেহেতু আপনার সকলের প্রয়োজনIO-@ কাজ করার কমান্ডের , এবং একটি 4 বাইট প্রোগ্রামে আপনি কেবলমাত্র দুটি কমান্ড কার্যকর করতে পারেন।

ব্যাখ্যা:

ব্যাকহ্যান্ডের পয়েন্টারটি তিনটি কোষে টিক টিকিয়ে দেয় এবং ঘরের সীমাটি বন্ধ করে দেয়, যার অর্থ সাধারণ যুক্তিটি ওভারল্যাপ করে। তবে আপনি vএবং এর সাথে এই গতিটি হেরফের করতে পারেন^ কমান্ড কমান্ড ।

মূল প্রোগ্রামটি নির্দেশাবলী কার্যকর করে IO-@যা সংখ্যার হিসাবে ইনপুট, সংখ্যা হিসাবে আউটপুট, বিয়োগ, সমাপ্তি। স্পষ্টতই বিয়োগফল অতিরিক্ত অতিরিক্ত f কোডটিতে এগুলি হ'ল:

I@-Ov
^  ^    Reflect
  ^     Reflect again
 ^

বিপরীত প্রোগ্রাম কার্যকর করে v-I-vO-@vএঁটেল পোকা মধ্যে পয়েন্টার পদক্ষেপ, এবং হ্রাস -স্ট্যাকের নীচে, যা পরোক্ষভাবে শূন্য থেকে subtracts। অতিরিক্ত -আদেশগুলি কিছুই করে না। প্রোগ্রামটি কার্যকর করে

vO-@I
v       Reduce pointer speed to 2
  -     Subtract zero from zero
    I   Get input as number and reflect off boundary
  -     Subtract input from zero
v       Reduce pointer speed to 1
 O      Output as number
  -     Subtract zero from zero
   @    Terminate



3

আর , 14 বাইট

scan()#)(nacs-

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

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


আপনার বন্ধনীগুলি মন্তব্য অংশে প্রায় ভুল উপায় way
হারুন হেইম্যান

অ্যারোন হাইমন ধন্যবাদ!
নিক কেনেডি

3

পাইথন 3 , 22 14 বাইট

int#__bus__. 0

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

ব্যবহার intক্লাস কন্সট্রাকটর এবং একটি বিল্ট-ইন সিউডো-বেসরকারী পদ্ধতি।


হাহ। বৈশিষ্ট্যটির আগে স্থানটি কেন বাধ্যতামূলক?
জো কিং

2
@ জোকিংকে 0.একটি সংখ্যা হিসাবে ব্যাখ্যা করা হবে, যা একটি প্রতীক দ্বারা অনুসরণ করা হবে
এপিনেট

2

05 এ বি 1 , 2 বাইট

(I

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

বিপরীত

(    negates nothing
  I  pushes input

I    pushes input
  (  negates input

এটি কেবল অন্যদিকে যেমন রয়েছে তেমন রেখে কেবল এক দিকে ইনপুটটিকে অস্বীকার করার কথা। স্পষ্টতই, 1-বর্ণের সমাধানটি বৈধ হতে পারে না।
এডম

আমার খারাপ, আমি ভুল
বুঝেছিলাম


2

এপিএল (ডায়ালগ ইউনিকোড) , 13 3 বাইট

-∘0

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

তুচ্ছ উত্তর। রিটার্ন argবা ¯arg

বোবা না হয়ে 10 বাইট সংরক্ষণ করা হয়েছে (ধন্যবাদ আদম)।

ফলস্বরূপ 3-বাইটারকে আরও বেশি মানানসই কার্যক্রমে পরিবর্তন করা হয়েছে।


ওহ, এই তিনটি বাইটে তুচ্ছভাবে করা যেতে পারে!
অ্যাডাম

মজার বিষয় হল, আপনার ইতিমধ্যে একটি 3-বাইট উত্তর এর সাবস্ট্রিং হিসাবে এমবেড করা আছে।
অ্যাডম

@ আদম হ্যাঁ, আমি জানতাম সেখানে কোথাও একটি সহজ উত্তর ছিল। ধন্যবাদ।
জে.সাল্লি

2

ট্যুরিং মেশিন ল্যাঙ্গুয়েজ , 39 বাইট

ধনাত্মক

1 r - _ 0
0 l * * 0
0 - _ l 0
0 _ _ r 0

নেতিবাচক

0 r _ _ 0
0 l _ - 0
0 * * l 0
0 _ - r 1

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


2

> <> , 5 4 বাইট

n-r0

এর সাথে স্ট্যাক ইনিশিয়েশন ব্যবহার করে -vবিকল্পের , আপনার ইনপুট ভেরিয়েবলটি সেখানে রাখুন।

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

বা বিপরীত চেষ্টা করুন

ব্যাখ্যা

n       Prints whatever is on the stack as a number
 -      Subtract the top 2 elements on the stack.
        There aren't 2 elements, so it crashes.
  r0    Never gets executed

or reversed:

0       Push a 0 onto the stack
 r      reverse the stack (now 0, -v)
  -     Subtract top 2 elements and push result (0-v, ie negated)
   n    Print as number
        The code wraps around and executes again. 
        It crashes on the - as there is only one
        item on the stack: 0.

2

স্ট্যাক বিড়াল -mn , 2 বাইট

-X

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

বিপরীত চেষ্টা করুন!

ব্যাখ্যা

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

বিপরীত প্রোগ্রামের জন্য, আবেদন -mদেয় X-X। আবার, Xকিছুই করে না, সুতরাং প্রোগ্রামটি কার্যকরভাবে কার্যকর -, যা স্ট্যাকের শীর্ষটিকে উপেক্ষা করে।

কেবলমাত্র 2-বাইট সমাধানই -=তবে এটি কার্যত একই। পার্থক্যটি হ'ল =পুরো স্ট্যাকগুলিই নয়, পার্শ্ববর্তী স্ট্যাকগুলির কেবলমাত্র শীর্ষগুলি অদলবদল করে।

কিন্তু আবার, ব্যবহার -m কিছুটা প্রতারণার মতো অনুভূত সুতরাং নীচে একটি সমাধান যা সম্পূর্ণরূপে মিররযুক্ত প্রোগ্রাম ব্যবহার করে।


স্ট্যাক বিড়াল -n , 7 বাইট

:I<->I:

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

বিপরীত চেষ্টা করুন!

ব্যাখ্যা

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

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

:    Swap the input with the -1 below.
I    Move the -1 one stack to the left and turn it into +1.
<    Move another stack left (without taking the value).
-    Negate the zero on top of that stack (i.e. do nothing).

সুতরাং, প্রোগ্রামের দ্বিতীয়ার্ধটি ঠিক প্রথম অর্ধেকটিকে পূর্বাবস্থায় ফেলে দেয় এবং আমরা একটি এর উপরে ইনপুট দিয়ে শেষ করি -1 আবার ।

বিপরীত প্রোগ্রাম হয় :I>-<I:। আসুন দেখুন কীভাবে এটি জিনিসগুলিকে পরিবর্তন করে:

:    Swap the input with the -1 below.
I    Move the -1 one stack to the left and turn it into +1.
>    Move one stack right, i.e. back onto the initial stack which still holds the input.
-    Negate the input.
<    Move back to the left where we've parked the 1.
I    Move that 1 back onto the initial stack and turn it back into a -1.
:    Swap the -1 below the negated input to act as an EOF marker.

2

ব্যাচ, 34 বাইট

@ECHO.%1 2>MER@
@REM>2 1%=-aa/TES@

প্রতিধ্বনি ( ECHO.) ইনপুট ( %1)। প্রথম লাইনের বাকি অংশগুলি প্রযুক্তিগত STDERRনামে ডাকা একটি ফাইলে পুনঃনির্দেশ করে MER@তবে এটি কার্যকর হয় না।
দ্বিতীয় লাইন মন্তব্য করা হয় ( REM...)।

বিপরীত

@SET/aa-=%1 2>MER@
@REM>2 1%.OHCE@

অপরিবর্তিত ভেরিয়েবল ( ) এর সমতুল্য ( ) থেকে ইনপুট ( ) SET /aবিয়োগ করতে সেট কমান্ড ( ) এর গাণিতিক মোড ব্যবহার করে । আবার প্রথম লাইনের বাকি অংশগুলি প্রযুক্তিগতভাবে ডাকা একটি ফাইলের দিকে পুনঃনির্দেশ করে তবে এটি কার্যকর হয় না। দ্বিতীয় লাইন মন্তব্য করা হয় ( )।-=%1a0 - inputSTDERRMER@
REM...


এটি আকর্ষণীয় দেখায়। বোঝাতে কি যত্ন?
অ্যাডম

@ অ্যাডাম একটি ব্যাখ্যা যুক্ত করেছেন এবং এটিও বুঝতে পেরেছিলেন যে আমার কাছে প্রোগ্রামগুলি পিছনের দিকে ছিল।
ousurous

2

ব্র্যাচল্যাগ , 2 বাইট

&ṅ

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

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


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