কোড হিসাবে একই দৈর্ঘ্য সহ আউটপুট


97

এই চ্যালেঞ্জে, আপনার এমন একটি প্রোগ্রাম বা ফাংশন লিখতে হবে যা কোনও ইনপুট নেয় না এবং প্রোগ্রামের মতো একই সংখ্যক বাইট সহ একটি স্ট্রিং প্রিন্ট করে না বা ফেরত দেয়। কয়েকটি নিয়ম রয়েছে:

  • আপনি কেবল প্রিন্টযোগ্য ASCII ব্যাপ্তি (0x20 থেকে 0x7E, সমেত) বা নিউলাইনস (0x0A বা 0x0D) এ বাইট আউটপুট করতে পারেন।
  • আপনার কোড অবশ্যই কোয়েন হওয়া উচিত না, তাই কোড এবং আউটপুট অবশ্যই কমপক্ষে একটি বাইটের মধ্যে পৃথক হওয়া উচিত।
  • আপনার কোডটি কমপক্ষে একটি বাইট দীর্ঘ হতে হবে।
  • যদি আপনার আউটপুটে নতুন লেলাইন থাকে, সেগুলি বাইট গণনার অংশ।
  • যদি আপনার কোডে অ-মানক কমান্ড-লাইন পতাকাগুলির প্রয়োজন হয় তবে এটিকে যথারীতি গণনা করুন (অর্থাত্ আপনার ভাষার প্রয়োগের বাইট গণনাতে একটি আদর্শ অনুরোধে পার্থক্য যুক্ত করে) এবং আউটপুটটির দৈর্ঘ্য অবশ্যই আপনার সমাধানের স্কোরের সাথে মেলে। উদাহরণস্বরূপ, যদি আপনার প্রোগ্রামটি হয় abএবং অ-মানক পতাকা প্রয়োজন -n(আমরা ধরে নেব যে এটি স্ট্যান্ডার্ড পতাকাগুলির সাথে একত্রিত করা যায় না, সুতরাং এটি 3 বাইট), আপনার মোট 5 বাইট আউটপুট করা উচিত।
  • আউটপুট সবসময় একই রকম হয় না, যতক্ষণ না আপনি দেখাতে পারেন যতক্ষণ প্রতিটি সম্ভাব্য আউটপুট উপরের প্রয়োজনীয়তাগুলি পূরণ করে।
  • সাধারণ কুইন বিধি প্রয়োগ হয় না । আপনি সোর্স কোড বা এর আকারটি পড়তে পারেন তবে আমি সন্দেহ করি এটি বেশিরভাগ ভাষায় হার্ডকোডিংয়ের চেয়ে কম হবে।

আপনি কোনও প্রোগ্রাম বা একটি ফাংশন লিখতে পারেন এবং আউটপুট সরবরাহের কোনও মানক পদ্ধতি ব্যবহার করতে পারেন । মনে রাখবেন যে আপনি ফলাফলটি মুদ্রণ করলে আপনি এটি স্ট্যান্ডার্ড আউটপুট বা স্ট্যান্ডার্ড ত্রুটি প্রবাহে মুদ্রণ করতে বেছে নিতে পারেন, তবে তাদের মধ্যে একটির গণনা রয়েছে।

আপনি যে কোনও প্রোগ্রামিং ভাষা ব্যবহার করতে পারেন তবে নোট করুন যে এই ফাঁকগুলি ডিফল্টরূপে নিষিদ্ধ করা হয়েছে।

এটি , তাই সংক্ষিপ্ততম বৈধ উত্তর - বাইটগুলিতে মাপা - জয়।

লিডারবোর্ড



18
"আপনার কোডটি কোয়েন হওয়া উচিত না" তবে ... তবে ... এটি ট্যাগ কোয়াইন
Okx

4
@ ওকএক্স কারণ এটি একটি সাধারণীকৃত কুইন, অর্থাত্ প্রয়োজনীয় আউটপুট উত্স কোডের উপর নির্ভর করে।
মার্টিন ইন্ডার

4
@ মার্টিনএেন্ডার আপনার সম্ভবত বহির্গমন কোডের মাধ্যমে আউটপুটটি অস্বীকার করা উচিত, এটি একটি ডিফল্ট। আপনি যদি এটির অনুমতি দেন তবে প্রায় প্রতিটি ভাষায় প্রতিটি বাইট প্রোগ্রাম অনুমোদিত হয়। একজন ব্যবহারকারী ইতিমধ্যে এটি করেছেন
শ্রীওচিলিজম ও'জাইক

2
প্রস্থান কোড দ্বারা ওয়েট উইজার্ড আউটপুট একটি স্ট্রিং নয়, সুতরাং এটি এখানে প্রয়োগ হয় না।
মার্টিন এন্ডার

উত্তর:


204

সি (আধুনিক লিনাক্স), 19 বাইট

main(){puts('s');}

সংকলিত এবং চালিত হলে, এই মুদ্রণ:

Segmentation fault

20
এটি উজ্জ্বল: ডি
বিটা ক্ষয়

4
এটি আরও বেশি "সি + ইংরাজী ভাষার ইউনিক্স / পিক্সিক্স ওএস;) এর মতো"
ফ্লোরিয়ান

5
আমি মনে করি কেবল "সি" এর চেয়ে "সি, আধুনিক লিনাক্স" লেখা ভাল হবে: উইন্ডোজের অধীনে ত্রুটির বার্তাটি আলাদা এবং পুরানো যুগে লিনাক্স প্রোগ্রামগুলি এমনভাবে সংকলিত হয়েছিল যে ঠিকানা 0x73 ('s') পঠনযোগ্য ছিল সুতরাং কোন ব্যতিক্রম ঘটেনি।
মার্টিন রোজনউ

9
আমি ঠিক এই উত্তরটি upvote করতে সাইটে যোগদান।
নীতিশ

7
এটি যতটা চিত্তাকর্ষক, এটি আসলে সি প্রোগ্রাম নয় যা আউটপুট প্রিন্ট করে, তবে যে শেলটি এটি চলমান
ডেনিস

80

এক্সেল, 11 বাইট

নরওয়েজিয়ান ভাষার সংস্করণ:

=SMÅ(13^9)

ইংরেজি ভাষার সংস্করণ (12 বাইট):

=LOWER(17^9)

এন-ডিজিট নম্বর উত্পন্ন করে লোয়ারকেসে রূপান্তর করে পাঠ্যে রূপান্তর করে।


106
এটি "কাজের জন্য সঠিক ভাষা বাছাই" এর সম্পূর্ণ নতুন অর্থ দেয়।
মার্টিন এন্ডার

4
এটি একটি মহান ধারণা। এটি করা সংক্ষিপ্ত হবে =9^7&""যা কোনও ভাষায় a ডিজিটের সংখ্যা উত্পন্ন করে এবং এটি কেবল 7 বাইট।
OpiesDad

@ ওপিজড্যাড চমৎকার সমাধান, আমি মনে করি আপনার উত্তর হিসাবে এটি পোস্ট করা উচিত, তাই আমি আপগ্রেটি করতে পারি।
pajonk

4
@ মার্টিনএেন্ডার এই উত্তরটির চেয়ে আপনার অনুমান / সম্ভাব্য রসিকতাটি কীভাবে আরও উত্সাহিত করা হয়েছে তা তা আমাকে বিস্মিত করে (যদিও এটি নিকটেই)।
হাইপারনিউটারিনো

55

ভোল্টেজ , 4 বাইট

!!>@

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

ছাপে 0000

ব্যাখ্যা

!   Print an implicit 0 from the stack.
!   Print an implicit 0 from the stack.
>   Rotate the source code right by one cell, so the code now becomes

    @!!>

    The IP is moved along, so it's now at the end of the line, which is 
    a dead end. So the IP turns around and starts moving left.
!   Print an implicit 0 from the stack.
!   Print an implicit 0 from the stack.
@   Terminate the program.

6
এটা খুব চালাক। বাড়িতে একটি +1 আছে!
কেয়ার্ড কোইনরিঙ্গিংহিং


40

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

no

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

প্রিন্ট 0এবং একটি লাইনফিড।

অনেকগুলি 2-বাইট সমাধান রয়েছে, তবে আমি বিশ্বাস করি এটি সর্বোত্তম। ডিফল্টরূপে রেটিনা সর্বদা একটি পেছনের নতুন লাইন প্রিন্ট করে এবং এ থেকে মুক্তি পেতে অনেকগুলি বাইট লাগে। সুতরাং আমাদের একটি 1 বাইট প্রোগ্রাম সন্ধান করতে হবে যা খালি ইনপুটটি অপরিবর্তিত রাখে। আমি বিশ্বাস করি যে এটিই একমাত্র প্রোগ্রাম যা একটি একক লাইনফিডযুক্ত প্রোগ্রাম যা আউটপুটের সমান এবং তাই চ্যালেঞ্জের দ্বারা অনুমোদিত নয়।

পরবর্তী সবচেয়ে সহজ কাজটি হ'ল রেটিনা একক অঙ্ক (আউটপুটটির সাথে কিছু রেগেক্সের মিলের সংখ্যা) আউটপুট দিয়ে বেঁচে থাকে এবং আমরা অনেক ব্যর্থ (বা মিলিয়ে) 2-বাইট নিদর্শন দিয়ে এটি করতে পারি।


27
+1 কোডের জন্য আমাকে এটি চালাবেন না বলার জন্য: পি
ক্রিস্টোফার

33

গণিত, 2 বাইট

4!

গৌণিক

24


1
গাহ! খুব চালাক
tuskiomi

2
আমাকে মার! +1 টি। ( আমি মনে করি আপনার উল্লেখ করা উচিত যে এটি ম্যাথামেটিকার আরপিএল সংস্করণে রয়েছে))
গ্রেগ মার্টিন

যদি এটি যুক্তিসঙ্গত উত্তর হয় তবে উত্তর "1" কি যুক্তিসঙ্গত উত্তর হবে না? (গাণিতিকের আরপিএলে '1' লাগানো '1'ও ফিরে আসবে ...)
মার্ক সেগাল

3
@ মারকসেগাল এটি নো-রাইনের বিধি লঙ্ঘন করবে।
অ্যালেক্সার

6
বিধি: ... "... কোড এবং আউটপুট অবশ্যই কমপক্ষে একটি বাইটে পৃথক হতে হবে"
J42161217

29

সি, 20 বাইট

f(){printf("%20d");}

20 টি দৈর্ঘ্যের ফাঁকা জায়গাগুলি সহ কিছু সংখ্যক ফলাফল আউটপুট দেয় ((কোন সংখ্যা? স্মৃতিতে পরবর্তী যাই ঘটুক না কেন))

কিছু নমুনা আমার সিস্টেমে চলে:

llama@llama:...code/c/ppcg121056samelen$ ./a.out 
           -666605944
llama@llama:...code/c/ppcg121056samelen$ ./a.out 
          -1391039592
llama@llama:...code/c/ppcg121056samelen$ ./a.out 
           1727404696
llama@llama:...code/c/ppcg121056samelen$ ./a.out 
             10717352
llama@llama:...code/c/ppcg121056samelen$ ./a.out 
           1485936232

এটি লজ্জাজনক যে আউটপুটটি নির্বিচারে বাইটগুলি নাও হতে পারে, কারণ এটি এই 19 বাইট সমাধানটি মঞ্জুরি দিত:

f(){write(1,f,19);}

যা জাঙ্কের 19 বাইট আউটপুট দেয়, fএর ঠিকানায় শুরু করে ।


আমি এমন উত্তর দেখে খুশি হলাম যা বিবিধ-আউটপুট নিয়মের ব্যবহার করে। :)
মার্টিন এন্ডার

এই সেগফোল্ট না পারে?
ড্যানিয়েল

টিআইও লিঙ্কটি কোথায়?
ক্যালকুলেটরফলাইন

@ ড্যানিয়েল নং, মুদ্রিত নম্বরটি নিবন্ধকের পূর্ববর্তী বিষয়বস্তু থেকে আসবে %esi
ডুরকনব

8
@Doorknob কিন্তু এটি এখনও অনির্ধারিত আচরণ, অতএব আরো একটি ধর্ষকামী কম্পাইলার কিছু সম্পূর্ণরূপে পৃথক এখানে কি হতে পারে
সার্জ সুপবিশেষ

29

লিনাক্সে ব্যাশ করুন,।

uname

(একটি নতুন লাইনের পরে)

আউটপুটগুলির Linuxপরে একটি নতুন লাইন।


2
প্রযুক্তিগতভাবে unameকোনও ব্যাশ অন্তর্নির্মিত নয় - এটি পৃথক সম্পাদনযোগ্য
জেসন মুসগ্রোভ 11


@ গামা ফাংশন বাশ বিল্টিন unameহিসাবে আপনি কোথায় দেখছেন ? প্রতিটি ডিস্ট্রো আমি এখনই হাত রাখতে পারি এটি টিআইও সহ পৃথক বাইনারি । বিপরীতভাবে, আপনার umaskলিঙ্কিত উত্তরগুলি দেখায়, বেশিরভাগ / সমস্ত শেলের মধ্যে একটি অন্তর্নির্মিত।
ডিজিটাল ট্রমা

আমি বিল্টিন হিসাবে দেখছি নাuname । যখন আমি "-1, এবং আসলে একটি বিল্টিন" বলেছিলাম, তখন আমার অর্থ ছিল "এই উত্তরটি umask-1 বাইটের জন্য ব্যবহার করে , এবং umaskএটি আসলে একটি বিল্টিন"।
গামা ফাংশন

@ গ্যামা ফাংশন দুঃখিত - আমি আপনার মন্তব্যে "-1" এর অর্থটি ভুল বুঝেছি - আমি ডাউনভোট এবং কেন তা বোঝাতে একটি মন্তব্য করতে অভ্যস্ত।
ডিজিটাল ট্রমা

27

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

টেমপ্লেট স্ট্রিং ব্যবহার করে

_=>`${_}`

f=

_=>`${_}`

console.log(f());
console.log(typeof f());


হয় undefinedএকটি স্ট্রিং বিবেচিত?
শেগি

3
@ শেগি সম্পাদনা দেখুন। আমি স্ট্রিং ইন্টারপোলেশন ব্যবহার করছি
উইডোজ

বাহ এটি পিপিসিজিতে আমার দ্বিতীয় পোস্ট এবং 14 টি আপভোট! ধন্যবাদ
উইডোজ

1
আপনি কেন এত কঠিন হতে পারেন? (_=>_+'')
0

1
@ গোটো 0 ওহ ঠিক আছে আপনি প্রথম বন্ধনী রেখেছেন। এটি অন্য একটি বিকল্প। আমি ব্যক্তিগতভাবে আমার
হি

24

পিরামিড স্কিম , 74 43 42 বাইট

খুলনাশেথ না'বাড়িয়াকে ধন্যবাদ 31 বাইট সংরক্ষণ! জোকিংয়ের পুনরায় নকশা করা সমাধানটির জন্য 1 বাইট সংরক্ষণ করা হয়েছে!

  ^
 /^\
^---^
-^ ^-
 -^-
 /2\
/ 8 \
-----

এটি অনলাইন চেষ্টা করুন! 41-সংখ্যার আউটপুট দেয় 28^28 = 33145523113253374862572728253364605812736, তারপরে একটি পিছনের নিউলাইন থাকে।


পুরাতন রুপ

  ^
 / \
/out\
-----^
    /^\
   ^---^
  /1\ /9\
 /606\---
/51015\
-------

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

ফলাফল 71277303925397560663333806233294794013421332605135474842607729452115234375= 160651015 ** 9, বা প্রায় 10 74


6
আরে, আপনি নিজের ভাষা বিক্রি করার চেষ্টা করছেন? যদি তা হয় তবে আপনি গ্রেপ্তার রয়েছেন। - দ্য কপস
ননওনিহিরে

2
নিবন্ধন করুন
কনর ও'ব্রায়ান

3
দুঃখিত, একে পিরামিড স্কিম বলা হয়, এটি এক ধরণের কেলেঙ্কারির নামও।
NoOneIs এখানে

1
ওহহহহহহ্ রোফেল
কনর ও ব্রায়ান

1
অন্তর্নির্মিত আউটপুট আপনাকে 43 বাইটে নামবে
খুলনাডেথ না'বাড়িয়া

23

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

print{+1}

এই প্রিন্ট set([1])এবং একটি লাইনফিড।

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


11
নরপশু-অত্যাচার প্রোগ্রাম দিয়ে শুরু থেকে print, কোন খাটো সমাধান আছে, এবং শুধুমাত্র 9-বাইট বেশী এই এবং রূপগুলো হয় লুইস Mendo এর print 1e5
xnor

23

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

print 1e5

প্রদর্শিত আউটপুটটিতে একটি পিছনের নিউলাইন রয়েছে।

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


ট্রেলিং করা নিউলাইনগুলি কি আউটপুট হিসাবে একটি চরিত্র হিসাবে গণনা করে? অন্যথায়, এটি আট বাইট মুদ্রণ করে।
ওল্ডবুনি 2800

@ ওল্ডবুনি ২৮০০ হ্যাঁ, চ্যালেঞ্জটি বলেছে যদি আপনার আউটপুটে যদি নতুন লেলাইন থাকে তবে সেগুলি বাইট গণনার অংশ । যাইহোক, আমি আমার উত্তরে এটি স্পষ্ট করব
লুইস মেন্ডো

18

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

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

এটি অনলাইন চেষ্টা করুন! দ্রষ্টব্য: 8-বিট স্বাক্ষরযুক্ত কক্ষগুলি সহ একটি বাস্তবায়ন প্রয়োজন

আউটপুট:

~~~~~}}}}}|||||{{{{{zzzzz

ব্যাখ্যা

--[         254
 -->+<]      /2 = 127 into the second cell
+++++[      Five times
 ->-.....<]  Print the second cell - 1 five times

4
8 বিট-সেল, ইনফাইট টেপের মতো অনেকগুলি বিএফ-প্রকরণ রয়েছে। বা একটি সীমিত টেপ এবং অসীম কক্ষ। আমি নিশ্চিত যে আপনার একটি স্বাক্ষরিত 8-বিট সেল মডেল, তবে আমি মনে করি এটি আপনার উত্তরটিতে অন্তর্ভুক্ত করা ভাল d
রোমান গ্রাফ

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

আপনার কি 1 টি বাইট প্রোগ্রাম না রয়েছে .যা ছাপিয়ে যায় না এমন NULLঅক্ষরটিকে মুদ্রণ করে ?
গ্রাভিটন

@ গ্রাভিটন যা এই চ্যালেঞ্জের প্রথম বিধি লঙ্ঘন করবে। তবে, এটি বিএফ ডেরিভেটিভের একটি বৈধ সমাধান যা মুদ্রণযোগ্য মানের ডিফল্ট হয় (দেখুন: আমার ব্রেইনবুল উত্তর )।
জ্যাক সি।


16

সি (আইডিয়ন), 14 বাইট

f(){warn(0);}

আইডিয়নে , যা এটির এক্সিকিউটেবলের নাম দেয় prog, এটি একটি নিম্নোক্ত লাইনের সাথে নিম্নলিখিতগুলি আউটপুট করে।

prog: Success

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

f(){warn(00);}

যেহেতু জিসিসি a.outডিফল্টরূপে এক্সিকিউটেবল নামে একটি এক্সিকিউটেবল লিখেছেন (অতিরিক্ত ফ্ল্যাগের অভাবে বাইটের দাম পড়বে), এটি নিম্নোক্তটিকে একটি পিছনে নতুন লাইনের সাথে ছাড়িয়ে যায়।

a.out: Success

7
@ এমডিএক্সএফ অনুমান প্রোগ্রাম বা ফাংশন বলে, সুতরাং একটি ফাংশন জমা পুরোপুরি বৈধ। যেহেতু ফাইলের নামটি এখানে ব্যবহারকারী ব্যবহার করেননি (আইডিয়োন এবং জিসিসি উভয়ই ডিফল্ট রয়েছে), আমি মনে করি এটি ঠিক আছে (ব্যক্তিগত মতামত))
ডেনিস

15

সি (জিসিসি) , 18 17 বাইট

f(){puts('@C');}

উল্লেখ্য আছে যে STX বাইট ( 0x02 ) মধ্যে @এবং C

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

পোর্টেবিলিটি

এটি জিডিসি 6.3.1 এবং ফেডোরা 25-তে 3.9.1, উবুন্টু 14.04.4-তে জিসিসি 4.8.4, এবং ওপেনসুএস 13.2-তে জিসিসি 4.8.3 সহ পরীক্ষা করা হয়েছে, যেখানে এটি নিম্নলিখিত আউটপুটটি মুদ্রণ করে।

inux-x86-64.so.2

আমি আশা করি এটি যতক্ষণ না নিম্নলিখিত ধরণের এক্সিকিউটেবলের সাথে সংকলিত হয়, ততক্ষণ পর্যন্ত এটি জিসিসির সমস্ত সংস্করণ সহ একই আউটপুট উত্পাদন করে।

ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2

বিভিন্ন প্ল্যাটফর্মের জন্য আলাদা আলাদা মেমরি ঠিকানা এবং মাল্টি-ক্যারেক্টার ক্যারেক্টার ধ্রুবকের বাইটগুলির জন্য সম্ভবত একটি আলাদা অর্ডার প্রয়োজন।

উদাহরণস্বরূপ, প্রিন্টগুলির @\2Cসাথে প্রতিস্থাপন এবং ফ্রিবিএসডি 11 এ একটি নতুন লাইনের ঝাঁকুনি সঙ্গে 3.8.0।@\2\4exec/ld-elf.so.1

অফলাইন যাচাইকরণ

$ printf "%b\n" "f(){puts('@\2C');}main(){f();}" > quine.c
$ gcc -w -o quine quine.c
$ ./quine
inux-x86-64.so.2
$ ./quine | wc -c
17

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

ডিফল্টরূপে, ld পাঠ্য বিভাগের বেস ঠিকানা হিসাবে 0x400000 ব্যবহার করে , এর অর্থ আমরা মেমরি ঠিকানার 0x400000 থেকে শুরু করে ELF এর সামগ্রী খুঁজে পেতে পারি

ইএলএফের প্রথম 640 বাইট প্রকৃত উত্স কোডের চেয়ে অনেকাংশেই স্বতন্ত্র। উদাহরণস্বরূপ, যদি এর ঘোষণাপত্র অনুসরণ করা হয় main(){f();}এবং অন্য কিছুই না হয় তবে সেগুলি নীচের মত দেখায়।

00000000: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00  .ELF............
00000010: 02 00 3e 00 01 00 00 00 00 04 40 00 00 00 00 00  ..>.......@.....
00000020: 40 00 00 00 00 00 00 00 e8 19 00 00 00 00 00 00  @...............
00000030: 00 00 00 00 40 00 38 00 09 00 40 00 1e 00 1b 00  ....@.8...@.....
00000040: 06 00 00 00 05 00 00 00 40 00 00 00 00 00 00 00  ........@.......
00000050: 40 00 40 00 00 00 00 00 40 00 40 00 00 00 00 00  @.@.....@.@.....
00000060: f8 01 00 00 00 00 00 00 f8 01 00 00 00 00 00 00  ................
00000070: 08 00 00 00 00 00 00 00 03 00 00 00 04 00 00 00  ................
00000080: 38 02 00 00 00 00 00 00 38 02 40 00 00 00 00 00  8.......8.@.....
00000090: 38 02 40 00 00 00 00 00 1c 00 00 00 00 00 00 00  8.@.............
000000a0: 1c 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00  ................
000000b0: 01 00 00 00 05 00 00 00 00 00 00 00 00 00 00 00  ................
000000c0: 00 00 40 00 00 00 00 00 00 00 40 00 00 00 00 00  ..@.......@.....
000000d0: 04 07 00 00 00 00 00 00 04 07 00 00 00 00 00 00  ................
000000e0: 00 00 20 00 00 00 00 00 01 00 00 00 06 00 00 00  .. .............
000000f0: 08 0e 00 00 00 00 00 00 08 0e 60 00 00 00 00 00  ..........`.....
00000100: 08 0e 60 00 00 00 00 00 1c 02 00 00 00 00 00 00  ..`.............
00000110: 20 02 00 00 00 00 00 00 00 00 20 00 00 00 00 00   ......... .....
00000120: 02 00 00 00 06 00 00 00 20 0e 00 00 00 00 00 00  ........ .......
00000130: 20 0e 60 00 00 00 00 00 20 0e 60 00 00 00 00 00   .`..... .`.....
00000140: d0 01 00 00 00 00 00 00 d0 01 00 00 00 00 00 00  ................
00000150: 08 00 00 00 00 00 00 00 04 00 00 00 04 00 00 00  ................
00000160: 54 02 00 00 00 00 00 00 54 02 40 00 00 00 00 00  T.......T.@.....
00000170: 54 02 40 00 00 00 00 00 44 00 00 00 00 00 00 00  T.@.....D.......
00000180: 44 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00  D...............
00000190: 50 e5 74 64 04 00 00 00 b0 05 00 00 00 00 00 00  P.td............
000001a0: b0 05 40 00 00 00 00 00 b0 05 40 00 00 00 00 00  ..@.......@.....
000001b0: 3c 00 00 00 00 00 00 00 3c 00 00 00 00 00 00 00  <.......<.......
000001c0: 04 00 00 00 00 00 00 00 51 e5 74 64 06 00 00 00  ........Q.td....
000001d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001f0: 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 00  ................
00000200: 52 e5 74 64 04 00 00 00 08 0e 00 00 00 00 00 00  R.td............
00000210: 08 0e 60 00 00 00 00 00 08 0e 60 00 00 00 00 00  ..`.......`.....
00000220: f8 01 00 00 00 00 00 00 f8 01 00 00 00 00 00 00  ................
00000230: 01 00 00 00 00 00 00 00 2f 6c 69 62 36 34 2f 6c  ......../lib64/l
00000240: 64 2d 6c 69 6e 75 78 2d 78 38 36 2d 36 34 2e 73  d-linux-x86-64.s
00000250: 6f 2e 32 00 04 00 00 00 10 00 00 00 01 00 00 00  o.2.............
00000260: 47 4e 55 00 00 00 00 00 02 00 00 00 06 00 00 00  GNU.............
00000270: 20 00 00 00 04 00 00 00 14 00 00 00 03 00 00 00   ...............

ব্যবহার করে, উদাহরণস্বরূপ, main(int c, char**v){f();}পরিবর্তে কিছু বাইট পরিবর্তন হয়, তবে স্ট্রিংয়ের অফসেট নয় /lib64/ld-linux-x86-64.so.2, যা আমরা আউটপুট উত্পাদন করতে ব্যবহার করব।

বলা স্ট্রিংয়ের অফসেট 0x238 এবং এটি 27 বাইট দীর্ঘ। আমরা কেবলমাত্র 17 বাইট (এবং গত এক একটি newline যদি আমরা ব্যবহার হতে হবে মুদ্রণ করতে চান puts), তাই আমরা যোগ 11 থেকে অফসেট পেতে 0x243 , এর অফসেট inux-x86-64.so.2। যোগ করার পদ্ধতি 0x400000 এবং 0x243 দেয় 0x400243 , স্মৃতির অবস্থান inux-x86-64.so.2

এই মেমরি ঠিকানাটি পেতে, আমরা বহু-চরিত্রের অক্ষর ধ্রুবক ব্যবহার করতে পারি, যা বাস্তবায়ন-সংজ্ঞায়িত আচরণ প্রদর্শন করে। 0x400243 হ'ল (64) (2) (67) বেস 256 এবং জিসিসির মাল্টি-ক্যারেক্টার ক্যারেক্টার্স বিগ-এন্ডিয়ান বাইট ক্রম ব্যবহার করে, তাই '@\2C'পছন্দসই স্ট্রিংয়ের মেমরি ঠিকানা দেয়।

অবশেষে, putsসেই মেমরি অবস্থানের স্টিং (নাল-টার্মিনেটেড) মুদ্রণ করে এবং আউটপুটটির 17 বাইট তৈরি করে new


এটি উইজার্ডারি ... এটি কি সংকলিত সমাবেশের বাইট ক্রম বা কিছু কি ধরে নেয়?
প্যাট্রিক রবার্টস

আমার সিস্টেমে আউটপুট (জিসিসি 6.3.1 সহ লিনাক্স): Uসংকলন করার সময় -Df=mainUযখন সংকলন main(){f();}
এমডি এক্সএফ 23'17

@ পেট্রিকরোবার্টস এই মুহুর্তে, অনুমানগুলি কী তা আমি সত্যিই নিশ্চিত নই। যেহেতু এটি একত্রিত ইএলএফ ফাইলের আশেপাশে ঝাঁকুনি রয়েছে, তাই এটি বাস্তব কোডের আগে সংকলকটি লেখার সমস্ত কিছুর উপর নির্ভর করে।
ডেনিস

@ এমডিএক্সএফ একটি উপযুক্ত মেমরি ঠিকানা পাওয়ার জন্য একটি ছোট উপায় খুঁজে পেয়েছে। এটি এখন আমার উবুন্টু 14.04 ভিপিএসে কাজ করে তবে ymmv।
ডেনিস

@ ডেনিস এখন ঠিকঠাক কাজ করে (এটি ডাং করে)। অনুগ্রহ আপনারা যদি সপ্তাহের শেষে কোনও স্বল্প সমাধান না পায়।
এমডি এক্সএফ

13

স্ব-পরিমার্জনকারী ব্রেনফাক , 5 বাইট

<[.<]

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

আউটপুট:

]<.[<

ব্যাখ্যা:

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

যেহেতু এই চ্যালেঞ্জটিতে পড়ার উত্স অনুমোদিত, তাই এটি অবশ্যই নিয়মের মধ্যে থাকা উচিত।


13

বেসিক অ্যারিমেটিক ক্যালকুলেটর , 2 বাইট

1=

মুদ্রণ 1., বা:

    |
    |
    |  .

সেই নির্বোধ সাতটি বিভাগের প্রদর্শনগুলিতে।

পুনরুত্পাদন করতে, যেকোন এলোমেলো ক্যালকুলেটর বাছাই করুন; তারা সকলেই এই প্রোগ্রামিংয়ের ভাষা কোনওভাবে ইনস্টল করেছেন installed


1
এটি কি সব ক্যালকুলেটরগুলির জন্য সত্য? আমি নিশ্চিত যে তারা নিয়মিত দশমিক পয়েন্টটি দেখায়
বিটা ডেকে

এর 1.বদলে কি হয় না 1x? এছাড়াও এটি একটি কুইন, যা নিয়ম দ্বারা অনুমোদিত নয়।
এরিক আউটগল্ফার

না, 1=আমি গণ্ডগোল করেছি আমি বোঝানো 1xসমান সমান চেয়ে, কিন্তু আমি ভুলে গিয়েছিলাম যে =একটি বোতাম।
ওল্ডবুনি 2800

এটি কেবলমাত্র 1আমার টিআই -36 এবং টিআই -৪৮ সিই উভয়েরই ফলাফল। এগুলি কি "বেসিক" ক্যালকুলেটর হিসাবে গণনা করা হয় না?
বেনজামিন আরউখার্ট

না, টিআই 84 কোনও পাটিগণিত ক্যালকুলেটর নয়, এটি একটি গ্রাফিং ক্যালকুলেটর। আমি 36 সম্পর্কে জানি না, তবে আমি নিশ্চিত এটি একটি বৈজ্ঞানিক ক্যালকুলেটর। এই উত্তরটি চার-ফাংশন ক্যালকুলেটরগুলির জন্য।
OldBunny2800

13

ফুরিয়ার, 26 22 20 বাইট

5^(`na`&i)` Batman!`

ফোরাইডে চেষ্টা করে দেখুন!

আউটপুট:

nananananana Batman!

যথাযথ মূলধনের জন্য, এটি 4 টি অতিরিক্ত বাইট:

`N`7^(`an`i^~i)`a Batman!`

ফোরাইডে চেষ্টা করে দেখুন!

Nanananananananana Batman!

আরআইপি অ্যাডাম ওয়েস্ট


1
আপনাকে এনসিকে অন্তর্ভুক্ত করতে হবে না (কেবলমাত্র আপনি যদি এই চ্যালেঞ্জটির জন্য স্ট্রিং প্রিন্টিং তৈরি করেন (এবং এটি নির্বোধ হবে)
ক্রিস্টোফার

ক্রিস্টোফার হু, আমি জানতাম না
বিটা

12

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

w

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

ব্যাখ্যা

wঅন্তর্নির্মিত "লিখুন"। এখানে, এটি ইনপুট লিখবে। ইনপুট যেহেতু একটি মুক্ত পরিবর্তনশীল, তাই wএটি মুদ্রণের আগে একটি পূর্ণসংখ্যা হিসাবে লেবেল করবে। এটির প্রথম পূর্ণসংখ্যাটি চেষ্টা করে 0


Here, it will write the Input.'ইনপুট' প্রোগ্রাম নিজেই? এই উত্সটি পড়া হিসাবে গণনা হয় না, যা ডিফল্টরূপে একটি কুইনে প্রতারণা করে?
MDXF

4
@ এমডিএক্সএফ "সাধারণ কুইন বিধিগুলি প্রয়োগ করে না"
রব ওয়াটস

3
@ এমডিএক্সএফ ইনপুট একটি বিশেষ ব্র্যাচিয়েলগ পরিবর্তনশীল যা ব্র্যাচল্যাগ প্রোগ্রামটি কল করার সময় আপনি সেট করতে পারেন। এটি ট্রাইআইটিঅনলাইনের ইনপুট অংশে যায়। এখানে আমরা ইনপুটটিতে কিছু সেট করি না, সুতরাং এটি কার্যকরভাবে একটি পরিবর্তনশীল। এটি প্রোগ্রাম নয়।
18:25

10

জাভা (ওপেনজেডিকে 8) , 11 বাইট

o->1e8-1+""

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

আউটপুট:

9.9999999E7

সুস্পষ্ট উত্তরের চেয়ে আরও বেশি বিস্তৃত একটি বাচ্চা ()->"".format("%23s",0),।

সংরক্ষণ

  • 18 -> 16 বাইট: 10 এর গোলাকার এবং পাওয়ারের আরও সুবিধাজনক সমন্বয়, পুনপুন 1000 কে ধন্যবাদ 1
  • 16 -> 13 বাইট: আরও ভাল সূত্র, জলি জোকারকে ধন্যবাদ
  • 13 -> 11 বাইট: উন্নত সূত্র, কেভিন ক্রুইজসেনকে ধন্যবাদ

2
()->1E10-1+"", "9.999999999E9" (13)আরও তিনটি বাইট সাশ্রয় করে
জলি জোকার

1
আপনি পরিবর্তন করে 1 বাইট সংরক্ষণ করতে পারবেন 1e10করার 1e9ব্যবহার করে, বা 2 বাইট একটি খালি ইনপুট পরিবর্তে() ভালো: o->1e8-1+""(আউটপুট 9.9999999E7; দৈর্ঘ্য & বাইট গোনা 11 )।
কেভিন ক্রুইজসেন

9

05 এ বি 1 , 1 বাইট

õ

একটি একক নিউলাইন আউটপুট দেয়। õএকটি খালি স্ট্রিং পুশ করে এবং এটি স্পষ্টভাবে একটি নতুন লাইনের সাথে আউটপুট করা হয়।

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

আপনার দেখার আনন্দের জন্য আরও কিছু 2 বাইট সমাধান (আউটপুট বন্ধনীতে রয়েছে, এবং সমস্ত আউটপুটটির একটি নতুন পেজ রয়েছে):

X, (1)
Y, (2)
¾, (0)
¼, (1)
¶, (newline)
ð, (space)
Î, (0)

যদিও আরও 2 টি বাইট সমাধান রয়েছে।


"যা একটি স্বীকৃত আউটপুট পদ্ধতি" শুধুমাত্র ফাংশন সমাধানের জন্য, সম্পূর্ণ প্রোগ্রামগুলির জন্য নয়।
মার্টিন ইন্ডার

@ মার্টিনএেন্ডার তাহলে কি এই সমাধানগুলি ফাংশন হিসাবে গণ্য হবে? সত্যিই নিশ্চিত নয়, যেহেতু আমি প্রায়শই এখানে ফাংশন ব্যবহার করি না।
Okx

আমি 05AB1E সম্পর্কে পর্যাপ্ত পরিমাণে জানি না তবে সেগুলি কেবলমাত্র ফাংশন হিসাবে বিবেচিত হবে যদি তারা এমন কোনও ভাববাদ হয় যা কোনও ফাংশন অবজেক্টের মূল্যায়ন করে (যা আমি সন্দেহ করি যেহেতু তারা এগুলি ব্যবহার করার সাথে সাথে কমান্ড কার্যকর করার কারণ ঘটায়)।
মার্টিন এন্ডার

9

ভী / তেজ, 1 বাইট

o

এটি একটি একক নিউলাইন প্রিন্ট করে।

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

এটিতে খুব কার্যকর হবে এমন এক ধরণের ভেরিয়েন্ট রয়েছে। উদাহরণ স্বরূপ,

O

ভিমে, এবং

Ä
ä
ï
Ï

ভি তে

এছাড়াও অনেকগুলি অনেক তিনটি বাইট সমাধান রয়েছে। উদাহরণ স্বরূপ:

3ii
i³i
¬ac

এগুলি সবই ভি এর সাথে নির্দিষ্ট are


3ii আপনি পালাবার চাপ না দেওয়া পর্যন্ত প্রসারিত হয় না, তাই কি এটি তিন বা চার বাইট (বা কীস্ট্রোকের পরিবর্তে) হওয়া উচিত?
অ্যালগমির

@ অ্যালগমির ভিমে, আপনি সঠিক। এটি হতে হবে 4ii<ESC>তবে ভি প্রোগ্রামের শেষের দিকে পালানোর ক্ষেত্রে পুরোপুরি পূরণ করে।
DJMcMayhem

8

ব্যাচ, 12 বাইট

@echo %OS%

বাইট গণনাতে স্ক্রিপ্ট এবং আউটপুট উভয়ের জন্য নতুন লাইনের পিছনে অন্তর্ভুক্ত রয়েছে যা is

Windows_NT

দেখে মনে হচ্ছে এটি 11 বাইট নয় 12
এরিক দ্য আউটগল্ফার

@ এরিকথ আউটগল্ফার cmd.exeঅবশ্যই অবশ্যই Windows_NT12 বাইট পরে একটি সিআরএলএফ প্রতিধ্বনিত করবে ।
নিল

তাহলে আপনার স্পষ্ট করা উচিত?
এরিক আউটগল্ফার




7

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

H

একটি ট্রেলিং নিউলাইন রয়েছে।

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

ব্যাখ্যা

ক্লিপবোর্ড এইচ 2ডিফল্টভাবে নম্বর থাকে । Hসেই সামগ্রীটিকে স্ট্যাকের দিকে ঠেলে দেয় যা পুরোপুরি নতুন লাইনের সাথে প্রদর্শিত হয়।


7

কাঠকয়লা , 2 বাইট

→¹

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

-ডানদিকে একটি দৈর্ঘ্য -1 অনুভূমিক রেখা এবং একটি নতুন লাইন মুদ্রণ করে ।


ম্যান কাঠকয়লা সত্যিই একটি ছিমছাম ভাষা আছে, আমি এটা কিছু সময় শেখা উচিত
Skidsdev

7

জেলি , 1 বাইট

V

বেশ কয়েকটি জেলি একটি বাইটার - এটি একটি - এটি বাম আর্গুমেন্টকে মূল্যায়ন করে যা যখন কোনও কিছুই ইনপুট হিসাবে সরবরাহ করা হয় না তখন শূন্যের ডিফল্ট হয় যা ঘুরে ফিরে শূন্যকে মূল্যায়ন করে এবং ফলাফলটি স্পষ্টভাবে মুদ্রিত হয়, এ 0

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

প্রকৃতপক্ষে, কোড-পৃষ্ঠাতে 256 বাইটের মধ্যে কেবল 95 টি রয়েছে যা সম্পূর্ণ প্রোগ্রাম হিসাবে চালিত হওয়ার সময় নির্দিষ্ট রেঞ্জের মধ্যে আলাদা আলাদা বাইট আউটপুট তৈরি করে না ; এগুলি (বাইট ক্রমে কোড-পৃষ্ঠার অক্ষর হিসাবে):

¡¢£¦©½¿€ÇÑÞßçıȷñ÷þ"#&',-./0123456789:;?@IMRTVZ\`dmpstxyz{}~°³⁴⁵⁹ƓƈɠḶỌṬḊĖİĿṄȮṖṘẆẊṃọṣṭḃḟḣŀṁṗṡẋż’“

নোট:

  • 1-বাইট প্রোগ্রামের বেশিরভাগ একটি মুদ্রণ করে 0(কোনও অপস / একক শূন্যের সাথে একটি তালিকা সরবরাহ করে যা প্রিন্ট করে 0), বেশিরভাগ অন্য মুদ্রণ করে 1( 0=0এবং এর মতো)

  • একটি প্রোগ্রাম যা করে একটি ভিন্ন বাইট উত্পাদ, কিন্তু এক যা স্পেসিফিকেশন অনুযায়ী সীমার বাইরে - এটা নাল-বাইট (কাস্ট উত্পাদন করে 0অক্ষরে)

  • একটি স্থান উত্পাদন করে (একটি আক্ষরিক)

  • একটি লাইন ফিড উত্পাদন করে (আক্ষরিক)

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


1
ডেড লিংকbyte
উইডোজ

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