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


39

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

বিধি

  • আপনার অবশ্যই একটি সম্পূর্ণ প্রোগ্রাম তৈরি করা উচিত । অর্থাৎ আপনার আউটপুটটি STDOUT এ মুদ্রণ করতে হবে।

  • উভয় সংখ্যা অবশ্যই বেস 10 এ (অন্য কোনও বেসে বা বৈজ্ঞানিক স্বরলিপি সহ তাদের আউটপুট নিষিদ্ধ)।

  • অগ্রবর্তী / শীর্ষস্থানীয় স্থানগুলির সাথে সংখ্যাগুলি আউটপুট করার অনুমতি রয়েছে।

  • এটি কোড-গল্ফ, তাই প্রতিটি ভাষার সংক্ষিপ্ততম (মূল) কোডটি জয়ী হয়!

  • ডিফল্ট লুফোলস প্রয়োগ হয়।

উদাহরণ

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


6
যদি আমরা -জেলিতে বাইট স্তর (0x45 = 0b00101101) এর পরিবর্তে বাইট স্তরের পরিবর্তে বিট স্তরে বিপরীত হতে পারি - -এটি আক্ষরিক -1 সংজ্ঞায়িত করার পরে -1 ফলন দেয়, যখন (0xB4 = 0b10110100) ফলন করে যেহেতু এটি যৌক্তিক না করে শূন্যের অন্তর্নিহিত ইনপুট এর। (অবশ্যই ঠিক পাশাপাশি কাজ করে: পি)
জোনাথন অ্যালান

@ টিউলাইটস্পার্কল এর কি "একটি অব্যবহৃত, খালি ইনপুট" রয়েছে তার অর্থ আমরা তাত্ক্ষণিকভাবে ইওএফ পৌঁছানোর জন্য ইনপুট ফাংশনগুলির উপর নির্ভর করতে পারি?
Borka223

1
@ Borka223 না, আপনি নাও পারেন।
হাইলিরাডিওঅ্যাকটিভ

@ জোকিং কপি করা আমি তা সরিয়ে দেব।
হাইলিরাডিওঅ্যাকটিভ

উত্তর:



28

জাভাস্ক্রিপ্ট (ভি 8) , 19 বাইট

print(1)//)1-(tnirp

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


প্রায় অনুরূপ ...

সি # (ভিজ্যুয়াল সি # ইন্টারেক্টিভ সংকলক) , 19 বাইট

Print(1)//)1-(tnirP

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

(এটি নির্দেশ করার জন্য @ সোমনকে ধন্যবাদ)


এখনও বেশ কিছু একই ...

লুয়া , 19 বাইট

print(1)--)1-(tnirp

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


তবে ছোট ...

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

print 1#1-tnirp

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


এমনকি পিএইচপিতে আরও ছোট, কারণ এটিতে এই যাদু মুদ্রণের সরঞ্জাম রয়েছে: <?=...

পিএইচপি , 12 বাইট

<?=1;#;1-=?<

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


এমনকি রুবিতে সংক্ষিপ্তসারও, কারণ আপনি inspectপ্রিন্ট করার চেয়ে বরং পারেন

রুবি , 8 বাইট

p 1#1- p

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


এছাড়াও সি # ইন্টারেক্টিভ Print(1)//)-1(tnirP,। ( এটি অনলাইনে চেষ্টা করুন! )
কেউ

সি # এর জন্য, সংক্ষিপ্ততম প্রোগ্রামটিও সম্ভবত তুচ্ছ একটি:class A{static void Main(){System.Console.Write(1);}}//}};)1-(etirW.elosnoC.metsyS{)(niaM diov citats{A ssalc
লেজিয়ানম্যামাল 978

কোনও প্রোগ্রামিং ভাষা নয়, তবে আপনি 1<!--!<1-HTML সহ 9 টি বাইট (9 বাইট) করতে পারেন যা -1<!--!<1বিপরীত হলে হবে । এটি আপনার উত্তর হিসাবে ঠিক একই কাজ করে।
ইসমাইল মিগুয়েল

: অ্যাপ্লিকেশন Lua বেশিরভাগই একইprint(1)--)1-(tnirp
Val


28

পাওয়ারশেল ,  4  3 বাইট

1-0

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

নম্বর-মন্তব্য-সংখ্যা বিন্যাসের পরিবর্তে পাটিগণিত ব্যবহার করে একটি বাইট গল্ফ করেছেন।


এটি আপাতদৃষ্টিতে ঝেহেল (প্রতি স্যাম ) এবং জেকিউ ( ম্যানটওয়ার্ক অনুযায়ী - 1-0এবং 0-1) এর মতো।


ঝেশেলে একই
স্যাম

একই jq: । 1-0 0-1
manatwork

12

/// , 4 বাইট

9/9-

আউটপুটস 9

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

বিপরীত:

-9/9

আউটপুটস -9

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

/মুদ্রিত হওয়ার আগে সমস্ত কিছু, যখন বাকিগুলি উপেক্ষা করা হয় (সত্যই ব্যবহৃত হয় না স্ল্যাশগুলি তাই আমি জানি না ঠিক কী হয়, তবে এটি কিছুই আউটপুট দেয় না)।


2
স্ল্যাশ ব্যবহারের জন্য +1। /প্যাটার্ন পড়ার প্রক্রিয়া শুরু, এবং এইভাবে, এটা পরে অক্ষর প্যাটার্ন, না outputted মধ্যে পরেছি করা হয়।
হাইলিরাডিওঅ্যাকটিভ

2
আমি সঙ্গে এসেছিলাম /\-//1-এবং আমি চালাক মনে হয়েছিল। : ডি
ট্যানার সোয়েট

10

ক্লিন 011, 5 বাইট

1-
@/

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

বিপরীত

/@
-1

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

এগুলি ক্লিনের অনন্য টপোলজির, বিশেষত আসল অভিক্ষিপ্ত বিমানের সুবিধা গ্রহণ করে। (যদিও স্বতন্ত্রভাবে প্রতিটি উত্তরের জন্য কেবল ক্লিন বোতল প্রয়োজন)।


10

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

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

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

ফলাফল 1/ -1

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

ব্যাখ্যা:

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

SSSTN  # Push 1 to the stack
TNST   # Pop and print the top of the stack as number
NNN    # Exit the program, making everything after it no-ops

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

SSTTN  # Push -1 to the stack
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


7

টি-এসকিউএল, 16 বাইট

--Forwards:
PRINT 4--4-TNIRP

--Backwards:
PRINT-4--4 TNIRP

4 টি বেছে নেওয়া হয়েছে কারণ 1 টি অতিরিক্ত ব্যবহার করা হয়েছে :)


1
আপনি যদি কৌতূহলী হন তবে মাইএসকিউএল এর একটি উত্তর select 1#1-tceles(17 বাইট) হবে। ফলাফলটি আপনি sqlfiddle.com/#!9/9eecb/107825 এ পরীক্ষা করতে পারেন ।
ইসমাইল মিগুয়েল

7

জাপট , 2 বাইট

কোন একক অঙ্ক পূর্ণসংখ্যা >0স্থানে ব্যবহার করা যেতে পারে 2যেমন করতে পারেন A-G, H, I, Jবা L( 10-16, 32, 64, -1& 100যথাক্রমে)।

n2

পরীক্ষা করুন | বিপরীত

nপদ্ধতি যখন একটি পূর্ণসংখ্যা প্রয়োগ, subtracts যুক্তি থেকে পূর্ণসংখ্যা এটি পাস, যা ডিফল্ট যে 0। ফরোয়ার্ড রান করার সময়, nপদ্ধতিটি অন্তর্নিহিত প্রথম ইনপুটটিতে চালিত হচ্ছে যা ডিফল্টও হয় 0

বিকল্পভাবে, gপদ্ধতিটি পরিবর্তে ব্যবহার করা যেতে পারে n, যা এটি প্রয়োগ করে পূর্ণসংখ্যা থেকে তার যুক্তিটি বিয়োগের ফলাফলের সাইন দেয়।


7

মন্তব্য ছাড়াই হাস্কেল , ৪১ বাইট

ফরোয়ার্ডগুলি 1+ নিউলাইন:

main=print$!1
niam=main
"1-"!$rtStup=niam

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

-1কোনও নতুনলাইন ছাড়াই বিপরীত প্রিন্টগুলি (যা 2 বাইটের দামে যুক্ত হতে পারে):

main=putStr$!"-1"
niam=main
1!$tnirp=niam

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

  • প্রতিটি প্রোগ্রামের প্রথম লাইনটি নম্বর মুদ্রণ করে।
    • জন্য -1স্ট্রিং আউটপুট প্রথম বন্ধনী এড়াতে ব্যবহার করা হয়।
    • ব্যবহার $!অনুমতি দেয় বিপরীত লাইন (কঠোর অ্যাপ্লিকেশন) একটি স্থান পরিবর্তে অপারেটর একটি বৈধ সংজ্ঞা হতে !$(ঠিক $করতাম না যেহেতু redefinition ব্যবহার ভঙ্গ হবে)।
  • মাঝের লাইনটি নিশ্চিত করে যে niamএটি শেষ লাইনের জন্য সংজ্ঞায়িত হয়েছে।
  • শেষ লাইনটি কোনও অপারেটরের সংজ্ঞা !$, যা ব্যবহৃত হয় না তবে সঠিকভাবে পার্স করতে এবং টাইপচেখের প্রয়োজন।

7

পিএইচপি , 15 13 বাইট

মন্তব্য অপব্যবহার ছাড়া একটি পিএইচপি সংস্করণ। ohceএটি একটি সংজ্ঞায়িত ধ্রুবক, সুতরাং এটি এর নামের স্ট্রিং মানের সমান হবে। ফলস্বরূপ, এটি মুদ্রণ করার চেষ্টা করবে +1-'ohce'বা -1+'ohce'বিপরীত হলে। যেহেতু 'ohce'একটি অ-সংখ্যাসূচক মান, তাই 0 গাণিতিক ক্রিয়াকলাপগুলির পরিবর্তে ব্যবহৃত হবে এবং কেবল 1বা -1মুদ্রিত হবে।

;echo+1-ohce;

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

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


যে চালাক। নিস!
অ্যাডমবর্কবার্ক

1
ম্যান, এটি দুঃখজনক যে আমি আপনার মতো উত্তরটি পৌঁছেছি, 3 ঘন্টা দেরী :( আমার উপন্যাসটি দিন
ইসমাইল মিগুয়েল




6

কিউবিক্স , 7 6 5 বাইট

@)O(@

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

ব্যাখ্যা

Cubified:

  @
) O ( @
  .

নিয়ন্ত্রণ প্রবাহকে তালিকাভুক্ত না করে, আমরা কার্যকর করি )O(@, যা বৃদ্ধি, আউটপুট, হ্রাস এবং প্রস্থান হয়।

বিপরীত এবং ঘনক্ষেত্র:

  @
( O ) @
  .

নিয়ন্ত্রণ প্রবাহকে তালিকাভুক্ত না করে, আমরা কার্যকর করি (O)@, যা হ্রাস, আউটপুট, বৃদ্ধি এবং প্রস্থান হয়।

পূর্ববর্তী সংস্করণ

@O(.)O@

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

সংক্ষিপ্ত হিসাবে নয়, তবে নান্দনিকভাবে আনন্দদায়ক।


সুন্দর, এটি একটি আকার 1 কিউবে রাখার উপায়!
জিউসেপ

3
@)O(@5 বাইট এবং প্রতিসাম্য পুনরুদ্ধার জন্য :)
মিকটি

5

রুনিক এনেক্যান্টমেন্টস , 4 বাইট

1@Z1

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

1কমান্ডটি পুনরায় ব্যবহারের কোনও উপায় খুঁজে পেলাম না , এমনকি একটি বা দুটি বাইট ব্যয়েও।

1@ɩ এছাড়াও কাজ করে, তবে একই সংখ্যা বাইট।


ইনপুট কেন? প্রশ্নটি বলেছে যে আপনার প্রোগ্রামটি অবশ্যই কোনও ইনপুট নেবে না।
হাইলিরাডিওঅ্যাকটিভ

@ টিউলাইটস্পার্কল আমি এটি ভুলভাবে লিখেছি এবং ইতিমধ্যে এটি ঠিক করেছি
ড্রাকো

হ্যা আমি দেখেছি. চালাক।
হাইলিরাডিওঅ্যাকটিভ


5

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

:-:_

এটি অনলাইন চেষ্টা করুন! ফুটারে আমি অন্যান্য সমস্ত 4-বাইট সমাধান অন্তর্ভুক্ত করেছি। (স্ট্যাক বিড়ালরা প্রথম লাইনফিডের পরে সবকিছু উপেক্ষা করে।)

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

ব্যাখ্যা

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

:-:_:-:

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

:   Swap the top two stack elements.
-   Negate the top stack element (i.e. multiply by -1).
_   Pop a. Peek b. Push b-a.

সুতরাং এখানে কীভাবে প্রোগ্রামটি স্ট্যাকটি সংশোধন করে (প্রতিটি কমান্ড কীভাবে স্ট্যাকটিকে এক রাজ্য থেকে পরের স্থানে পরিবর্তন করে তা নির্দেশ করে স্টেটস এবং স্টেটসগুলি স্থির থাকে):

   :   -   :   _   :   -   :

-1   0   0  -1   1   0   0   1
 0  -1  -1   0   0   1   1   0
 0   0   0   0   0   0   0   0
 …   …   …   …   …   …   …   …

দেখা যাচ্ছে যে এখানে কেবল কিছু করতে পারে এমন একমাত্র আদেশ হ'ল _আমাদের ইওএফ চিহ্নিতকারীকে একটি হিসাবে রূপান্তরিত করে 1। প্রোগ্রামের শেষে আউটপুট অন্তর্ভুক্ত, এবং ইওএফ চিহ্নিতকারী alচ্ছিক, তাই এটি কেবল আমাদের পাওয়া প্রিন্ট করে 1

অন্তর্ভুক্ত মিররটির কারণে যদি আমরা উত্স কোডটি উল্টে করি তবে আসল প্রোগ্রামটি হয়ে যায়:

_:-:-:_

এটি খুব আলাদা কিছু করে:

   _   :   -   :   -   :   _

-1   1   0   0   1  -1   0  -1
 0   0   1   1   0   0  -1  -1
 0   0   0   0   0   0   0   0
 …   …   …   …   …   …   …   …

এইবার স্ট্যাকের নীচে হয় এখনও একটি -1তাই এটি ফাইলের শেষে মার্কার এবং শুধুমাত্র হিসাবে কাজ করে -1এটি উপরে মুদ্রিত হয়।

...

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


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

*|]I*:*I[|*

এটি অনলাইন চেষ্টা করুন! পাদলেখকক্ষেত্রে আবার একই বাইট গণনায় অন্য সমস্ত বিকল্প অন্তর্ভুক্ত রয়েছে। প্রতিটি প্রোগ্রামের পরে নির্দেশিত হিসাবে সেইগুলি আউটপুট 1 / -1 এবং কিছু আউটপুট 2 / -2। আমি আউটপুট 2 এর মধ্যে একটি হিসাবে এলোমেলোভাবে কিন্ডা ব্যাখ্যা করতে এইটিকে বেছে নিয়েছি 2।

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

ব্যাখ্যা

আমি যেমন বলেছি, এটি কিছুটা দীর্ঘ longer এমনকি যদি আমরা এর -mজন্য স্বরলিপিটি ব্যবহার করি তবে এটি ওপরের 4 টির পরিবর্তে 6 বাইটে ওজনের হবে।

এই সময় ব্যবহৃত কমান্ডগুলি:

*   Toggle the least significant bit of the top of the stack.
|   Reverse the longest non-zero of prefix on this stack.
[]  Move one stack to the left/right and take the top of the current stack with you.
I   If the top of the stack is positive, -], if it's negative, -[, otherwise do nothing.
:   Swap the top two stack elements.

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

  [-1]
…   0   0   …
    0   0
    …   …

      *

  [-2]
…   0   0   …
    0   0
    …   …

      | (does nothing)
      ]

      [-2]
…   0   0   …
    0   0
    …   …

      I

   [2]
…   0   0   …
    0   0
    …   …

      *

   [3]
…   0   0   …
    0   0
    …   …

      :

   [0]
…   3   0   …
    0   0
    …   …

      *

   [1]
…   3   0   …
    0   0
    …   …

      I

      [-1]
…   3   0   …
    0   0
    …   …

      [

  [-1]
…   3   0   …
    0   0
    …   …

      |

  [ 3]
…  -1   0   …
    0   0
    …   …

      *

  [ 2]
…  -1   0   …
    0   0
    …   …

এখন -1ইওএফ চিহ্নিতকারী হিসাবে কাজ করে এবং এটি 2মুদ্রিত হয়।

অন্যান্য প্রোগ্রাম একই না হওয়া পর্যন্ত [। এটি এখনও দ্বিতীয় দিক পর্যন্ত কার্যত একইরকম I। আমরা প্রযুক্তিগতভাবে একটি পৃথক স্ট্যাকের মধ্যে থাকব, তবে সেগুলির কোনও মূল্য ছাড়াই তারা সকলেই পৃথক পৃথক। কিন্তু তারপর মধ্যে পার্থক্য I[এবং I]শেষ পর্যন্ত mattering:

    *|[I*:*I

      [-1]
…   3   0   0   …
    0   0   0
    …   …   …

        ]

          [-1]
…   3   0   0   …
    0   0   0
    …   …   …

        | (does nothing)
        *

          [-2]
…   3   0   0   …
    0   0   0
    …   …   …

এবং এইবার, আমাদের কাছে কোনও ইওফ চিহ্নিতকারী নেই, তবে প্রোগ্রামটি এখনও ফলাফলগুলি আউটপুট করে -2


4

Zsh , 12 বাইট

<<<2 # 2-<<<

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

বেসিক ফরোয়ার্ড, মন্তব্য, বিপরীত পদ্ধতি।


যদি I / O কম সীমাবদ্ধ হয় তবে জ্যাশকে নেতিবাচক রিটার্ন কোডগুলি সমর্থন করার জন্য আরও আকর্ষণীয় 11 বাইট সমাধান সম্ভব:

return -127

বিপরীত, 721- nruterকোড সহ প্রস্থান 127(কমান্ড পাওয়া যায় নি)। exit -127ব্যবহার করা যাবে না, এটা একটা কাস্ট করা হবে u8এটি অনলাইন চেষ্টা করুন!



4

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

Nqv

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

তারা কিভাবে কাজ করে

সাধারন:

N   % Push number of elements in the stack: 0
q   % Subtract 1: gives -1
v   % Concatenate stack contents vertically: leaves -1 as is
    % Implicit display stack contents

বিপরীত:

v   % Concatenate stack contents vertically: gives the empty array, []
q   % Subtract 1: leaves [] as is
N   % Push number of elements in the stack: 1
    % Implicit display. [] is not displayed


4

হেক্সাগনি , 5 বাইট

1!@!(

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

যে কোনও বৈধ প্রোগ্রাম অবশ্যই:

  • একটি সমাপ্তি আদেশ ( @বা :) রয়েছে। যখন মেমরি পয়েন্টার চলন কমান্ড থাকে তবে পূর্ববর্তীটি পূর্বের পক্ষে কেবল আলাদা। এছাড়াও এই আদেশটি প্রথম বা শেষ বাইটে হওয়া উচিত নয়।
  • একটি আউটপুট কমান্ড আছে। ( !, ;এটিও সম্ভব তবে সম্ভবত আরও বাইট লাগবে)
  • একটি মেমরি ম্যানিপুলেশন কমান্ড আছে।

সুতরাং একটি 2 বাইট প্রোগ্রাম স্পষ্টতই অসম্ভব। একটি 3-বাইট প্রোগ্রামটি অসম্ভব কারণ দ্বিতীয় বাইটটি অবশ্যই সমাপ্তি কমান্ড হতে হবে এবং প্রথম বাইটটি অবশ্যই আয়না / আইপি ম্যানিপুলেশন কমান্ড না হওয়া উচিত, সুতরাং কেবল 1 বাইট কার্যকর করা যায়।

আমি মনে করি একটি 4-বাইট প্রোগ্রাম সম্ভব নয়। এই জাতীয় প্রোগ্রামে অবশ্যই a@bcষড়ভুজ গ্রিডের ফর্ম থাকতে হবে

 Forward:       | Backward:
                | 
  c b           |   a @
 @ a .          |  b c .
  . .           |   . .

সুতরাং aঅবশ্যই একটি আইপি পুনঃনির্দেশ কমান্ড হতে হবে। তবে কেবলমাত্র 1 টি মেমরি ম্যানিপুলেশন কমান্ড দিয়ে ইতিবাচক এবং নেতিবাচক উভয় সংখ্যা উত্পন্ন করা অসম্ভব।


অন্যথায় তুচ্ছ উত্তরে অনুকূলতার প্রমাণের জন্য +1
জো কিং



3

জাভা 5 বা 6, 127 67 বাইট

enum A{A;{System.out.print(9);}}//}};)9-(tnirp.tuo.metsyS{;A{A mune

ফলাফল 9/ -9

কোনও অনলাইন সংকলক নেই, কারণ জাভা 5 বা 6 কোথাও উপলভ্য নয়।

আপনি কিন্তু চেষ্টা এই করতে 127 বাইট জাভা 8 সমতুল্য:
অনলাইনে এটিকে পরখ করে বা অনলাইনে বিপরীত চেষ্টা

ব্যাখ্যা:

enum A{                              // Create an enum
 A;                                  //  With a mandatory value
 {                                   //  And in a separate instance code-block:
  System.out.print(9);}}             //   Print 9 to STDOUT
//}};)9-(tnirp.tuo.metsyS{;A{A mune  // Comment and thus a no-op

জাভা 5 এবং 6 এর মধ্যে একটি ত্রুটি ছিল যা আপনাকে প্রোগ্রামের বাধ্যতামূলক মূল-পদ্ধতিটি অনুপস্থিত করে কিছু করার জন্য এনামের ভিতরে একটি কোড ব্লক তৈরি করতে দেয় create এটির ফলে একটি ত্রুটি ঘটবে:

java.lang.NoSuchMethodError:
থ্রেডের মূল ব্যতিক্রম "মূল"

তবে তারপরেও আমরা প্রথমে যা করতে চাই তা আউটপুট দেবে, তাই আমরা এটিকে উপেক্ষা করতে পারি


3

গোলং , 109 বাইট

package main;import "fmt";func main(){fmt.Println(1)}//})1(nltnirP.tmf{)(niam cnuf;"tmf" tropmi;niam egakcap

এবং এর বিপরীত:

package main;import "fmt";func main(){fmt.Println(-1)}//})1(nltnirP.tmf{)(niam cnuf;"tmf" tropmi;niam egakcap

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


2
আমি গো জানি না, তবে মনে হয় আপনি কয়েকটি বাইট সরিয়ে ফেলতে পারেন। Printlnহতে পারে Print, এবং import "fmt";জায়গা দরকার নেই: import"fmt";। :)
কেভিন ক্রুইজসেন

3

পার্ল 5 (-পি), 12 বাইট

\$--{}}{++$\

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

! enilno ti yrT

}{সিউডো-অপারেটর সত্যিই উপকারে আসে।


পার্ল 5 (-M5.010), 9 বাইট

একটি মন্তব্যে নাহুয়েল ফিউইলুল সরবরাহ করেছেন

say+1-yas

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

! enilno ti yrT


2
হওয়া উচিতsay 1#1-yas
নাহুয়েল ফিউইলুল

@NahuelFouilleul প্রকৃতপক্ষে Yas
Grimmy

1
9 বাইট: say+1-yasএবংsay-1+yas
নাহুয়েল ফিউইলুল

3

রেটিনা , 6 বাইট

-`<
-

প্রিন্ট 1

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



-
<`-

প্রিন্ট -1

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

ব্যাখ্যা: 1

-`<
-

এই ... কিছুই করে না। দরুন `, এই থেকে একটি প্রতিকল্পন হয় <থেকে -(কনফিগারেশন সঙ্গে -, যা কিছুই না), কিন্তু ইনপুট খালি, তাই আউটপুট পাশাপাশি খালি।


এবং এই দ্বিতীয় পর্যায়ে খালি ইনপুটটির সাথে খালি রেজেক্সের সাথে মেলে এবং মিলগুলির সংখ্যা গণনা করে, যা হুবহু 1 Out আউটপুট অন্তর্ভুক্ত is

ব্যাখ্যা: -1


-

এবার আমরা এর সাথে খালি রেজেক্সটি প্রতিস্থাপন করব -। এটি প্রকৃতপক্ষে খালি ইনপুটটিকে একটি একক করে তোলে -

<`-

এখানে কনফিগারেশনটি আসলে কিছু করে: <মঞ্চটি কার্যকর করার আগে মঞ্চের ইনপুট প্রিন্ট করে, তাই আমরা মুদ্রণ করি -। তারপরে -পর্যায়টির ইনপুটটিতে হাইফেনগুলি গণনা করে যা আবার 1 the অন্তর্নিহিত আউটপুটটির কারণে, এটি 1পরে প্রিন্ট -করে আমাদের -1প্রয়োজনীয় হিসাবে প্রদান করে ।


3

TEX(MathJax), 4bytes

1%1-

CodeResultForward:1%1-1Backward:-1%11


3

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

+++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++++++++++++++++++++++<+++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++

এটি অনলাইন চেষ্টা করুন! বাশ-এ / ফরোয়ার্ড / পশ্চাদপদ যাচাইকারী

-1সামনে এবং \n1পিছনে মুদ্রণ ।

প্রায় তুচ্ছ হওয়া সত্ত্বেও, আমি বিশ্বাস করি এটিই এই নির্দিষ্ট নির্দিষ্ট আউটপুটটির অনুকূল সমাধান।

প্রমাণ:

  • প্রোগ্রামটি থাকতে পারে [বা থাকতে পারে না ]

    সুতরাং প্রোগ্রামের অবশ্যই ফর্ম থাকতে হবে <A> . <B> . <C>

  • প্রতিটি বা সংখ্যা না বাড়িয়ে ,পর্যাপ্ত সংখ্যার সাথে প্রতিস্থাপন করা যেতে পারে ।<+-

  • প্রতিটি +কেবলমাত্র এগিয়ে বা পিছনে প্রোগ্রামে কার্যকর, উভয়ই নয়।

    প্রুফ: +অংশে A স্পষ্টতই কেবলমাত্র ফরওয়ার্ড প্রোগ্রামে কার্যকর এবং +অংশে সি স্পষ্টতই কেবল পিছিয়ে পড়া প্রোগ্রামে কার্যকর।

    চিহ্নিত করুন shift(P)= <পি এর সংখ্যা - পি এর সংখ্যা >program প্রোগ্রাম বিবেচনা করুন <B> = <D> + <E>, +মাঝের অংশটি ফরওয়ার্ড প্রোগ্রামে কার্যকর shift(E) = 0, একইভাবে এটি পশ্চাদপটে প্রোগ্রামে দরকারী shift(D) = 0। তবে shift(D) = shift(E) = 0তা হলে প্রোগ্রামটি Bসামনের দিকে বা পিছনে কার্যকর হলে দ্বিতীয় বার মুদ্রণের আগে বর্তমান ঘরে একটি নির্দিষ্ট মান যুক্ত হবে, কারণ এটি হতে পারে না কারণ ord('1') - ord('\n') != ord('1') - ord('-')

সুতরাং প্রোগ্রামটির কমপক্ষে ord('-')+ord('1')+ord('\n')+ord('1') = 153 +s, 2 .গুলি প্রয়োজন এবং কমপক্ষে একটি < >বা ,কারণ shift(B) != 0

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