ইনডেক্সেবল কুইন


14

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

ইনপুট

একটি পূর্ণসংখ্যা 0 <= n <লেন (প্রোগ্রাম)।

আউটপুট

আপনার প্রোগ্রামের নবম চরিত্র (বাইট নয়)।

জয়লাভ

বেশিরভাগ কোডগল্ফ প্রশ্নের মতো, আপনি চ্যালেঞ্জটি সমাধান করতে সর্বনিম্ন সংখ্যা বাইট ব্যবহার করে চ্যালেঞ্জটি জিতেন।

বোনাসেস

-5% যদি আপনার প্রোগ্রামটি পাইগন শৈলীতে নেতিবাচক সূচকগুলি সমর্থন করে (যেমন -1 আপনার প্রোগ্রামের শেষ চরিত্র হবে)। যদি নীচের বোনাসের সাথে ব্যবহার করা হয় তবে আপনার ব্যাপ্তিগুলি অবশ্যই নেতিবাচক সূচকগুলিকে সমর্থন করবে।
-20% যদি আপনার প্রোগ্রামটি উপরের প্রয়োজনীয়তাগুলি ছাড়াও ইনপুট (কোনও বিন্যাস) হিসাবে ব্যাপ্তিগুলি সমর্থন করে।
-25% যদি আপনার প্রোগ্রাম উভয় বোনাস সম্পূর্ণ করে।

লিডারবোর্ড

নিয়মিত লিডারবোর্ড এবং ভাষার দ্বারা বিজয়ীদের একটি সংক্ষিপ্ত বিবরণ উভয়ই তৈরি করতে এখানে একটি স্ট্যাক স্নিপেট।

আপনার উত্তরটি প্রদর্শিত হয়েছে তা নিশ্চিত করার জন্য, দয়া করে নীচের মার্কডাউন টেমপ্লেটটি ব্যবহার করে আপনার উত্তরটি শিরোনাম দিয়ে শুরু করুন:

# Language Name, N bytes

Nআপনার জমা দেওয়ার আকারটি কোথায় ? আপনি যদি নিজের স্কোরটি উন্নত করেন তবে আপনি পুরানো স্কোরগুলি শিরোনামে রেখে দিতে পারেন । এই ক্ষেত্রে:

# Ruby, <s>104</s> <s>101</s> 96 bytes

যদি আপনি নিজের শিরোনামে একাধিক সংখ্যা অন্তর্ভুক্ত করতে চান (যেমন আপনার স্কোর দুটি ফাইলের সমষ্টি বা আপনি আলাদাভাবে দোভাষী পতাকা দণ্ডের তালিকা করতে চান), নিশ্চিত করুন যে আসল স্কোরটি শিরোনামের শেষ সংখ্যা:

# Perl, 43 + 2 (-p flag) = 45 bytes

আপনি ভাষাটির নামটিকে একটি লিঙ্কও বানাতে পারেন যা লিডারবোর্ড স্নিপেটে প্রদর্শিত হবে:

# [><>](http://esolangs.org/wiki/Fish), 121 bytes


কুইন বিল্টিনগুলি কি নিষিদ্ধ?
মেগো

@ মেগো হ্যাঁ, তারা।
TheNumberOne

বোনাসগুলি স্ট্যাক (100% - 20% - 5% = 75%) বা গুণা (100% * 80% * 95% = 76%)?
ETH প্রোডাকশনগুলি

যে প্রোগ্রামগুলি আসলে তাদের ইনপুট গণনাটি পড়ে না?
নীল

@Ethproductions স্ট্যাক
TheNumberOne

উত্তর:


12

পাইথ, 0.75

(এছাড়াও সিজেএম বহুভোজী এবং সম্ভবত আরও অনেকগুলি ভাষা হয়ে থাকে happens)

0

STDIN এ ইনপুট আশা করে:

llama@llama:~$ echo 0..0 | pyth -c '0'
0

যে কোনও একক অঙ্ক অবশ্যই কাজ করে। পাইথের সবচেয়ে আকর্ষণীয় চ্যালেঞ্জ নয়।


1
এটি অন্যান্য অনেক ভাষায় বহুভুজ হতে দেখা যায়।
মামা ফান রোল

প্লাটিপাড়েও কাজ করে
সাইয়েস

1
এবং জাপট এবং জল্ফ এবং অন্তর্নিহিত আউটপুট সহ প্রায় প্রতিটি ভাষা
ETH প্রোডাকশনগুলি

9
এবং পিএইচপি, যা স্পষ্টতই গল্ফের জন্য সেরা ভাষা।
ব্যবহারকারী 253751

8

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

$=_=>`$=${$};$()`[prompt()];$()

ব্যাখ্যা

স্ট্যান্ডার্ড কুইন ফ্রেমওয়ার্ক:

$=_=>`$=${$};$()`;$()

[prompt()], যা অ্যাডোন, ফলাফল কুইন স্ট্রিংয়ের ইনপুট সূচীতে মান পায়।


6

𝔼𝕊𝕄𝕚𝕟, 9 টি চর / 19 বাইট

⟮ɕṡ+ᶈ0)⎖ï

Try it here (Firefox only).

আই, 19 তম বাইট!

0 খুব বেশি কাজ করে (এবং এটি আরও ভাল) তবে এটি আমার পছন্দ অনুসারে খুব তুচ্ছ।

উপরন্তু, ℹ ï,⧺ïএছাড়াও কাজ, কিন্তু quine ফাংশন অনুমতি দেওয়া হয় না হবে।

ব্যাখ্যা

স্ট্যান্ডার্ড কুইন ফ্রেমওয়ার্ক ⟮ɕṡ+ᶈ0

)⎖ï ফলস্বরূপ কুইন স্ট্রিং নেয় এবং ইনপুট সূচীতে অক্ষর পায়।


বোনাস সমাধান, 11.4 অক্ষর / 25.65 বাইট

⟮ᵖ…ɕṡ+ᶈ0;ôᵍï

Try it here (Firefox only).

এটি এক 5% বোনাসের জন্য যোগ্যতা অর্জন করে, তবে এখনও আমার আসল জমাটি হারায় না।

ব্যাখ্যা

এই এক স্ট্যাক ব্যবহার করে। ᵖ…ɕṡ+ᶈ0;কেবল কাইন স্ট্রিংয়ের স্বতন্ত্র অক্ষরগুলিকে স্ট্যাকের দিকে ঠেলে দেয় এবং ôᵍïসরাসরি স্ট্যাকের ইনপুট সূচকে (ধনাত্মক বা negative ণাত্মক) অক্ষরটিকে আউটপুট করে দেয়।


আপনি এখনও এটির জন্য একটি এনকোডিং করেননি কেন?
অ্যাডিসন ক্রম্প

আপডেটগুলি খুব দ্রুত আসছে! রাখতে পারছি না!
মামা ফান রোল

5

সিজেম, 12.35 বাইট

{s"_~"+ri=}_~

প্রোগ্রামটি 13 বাইট দীর্ঘ এবং × 0.95 বোনাসের জন্য যোগ্যতা অর্জন করে । এটি অনলাইন চেষ্টা করুন!

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

{         }      Define a code block.
           _~    Push a copy and execute the copy.
 s               Cast the original code block to string.
  "_~"+          Append "_~".
       ri        Read an integer from STDIN.
         =       Retrieve the character at that index.

4
অবশ্যই, 0কিছুটা ছোট হয়ে যেত ...
ডেনিস

4

রুবি, 53 * 0.75 = 39.75

$><<(<<2*2+?2)[eval gets]
$><<(<<2*2+?2)[eval gets]
2

2নিজস্ব লাইনে একটি দ্বারা সীমিত একটি হেরডোক স্ট্রিং উত্পন্ন করে, এটিকে সম্মতি জানায় ( *2) এবং তারপরে 2একটি অক্ষর আক্ষরিকের মাধ্যমে ফাইনালে যুক্ত হয় । এতে রুবির বিল্ট ইন ব্যবহার করে এতে স্লাইস দেওয়া হয় String#[], যা ইতিবাচক পূর্ণসংখ্যা, negativeণাত্মক পূর্ণসংখ্যা এবং ব্যাপ্তিগুলি (ফর্মের ইনপুট m..n) সমর্থন করে। $><<আউটপুট হয়। ( putsএখানে অতিরিক্ত জায়গার প্রয়োজন হবে)।


আমি মনে করি gets.to_iএকই কাজটি করবে eval getsএবং আরও পরিষ্কার হবে। এটি অ-পূর্ণসংখ্যার ইনপুট পরিচালনা করবে না, তবে যাইহোক এটি প্রয়োজনীয় নয়
ফান্ড মনিকার লসুইট

এটাই সাধারণত আমি করতাম তবে রেঞ্জগুলি পরিচালনা করার জন্য এটি বোনাস পায়। (এছাড়াও টিউরিং সম্পূর্ণ হওয়ার জন্য অস্তিত্বহীন বোনাস)।
হিস্টোক্র্যাট

আহ, আমি এটা মিস করেছি। আমার খারাপ।
তহবিল মনিকার লসুইট

3

রুবি, 38.25 বাইট

a="a=%p;$><<(a%%a)[eval gets]";$><<(a%a)[eval gets]

নেতিবাচক সূচক এবং ব্যাপ্তিকে সমর্থন করুন। আমি নির্দ্বিধায় হিস্ট্রোকের কাছ থেকে $><<এবং evalকৌতুক উভয়কেই বাছাই করেছিলাম, এবং কুইন ট্রিকটি অন্য কারও সাথে শুরু করা উচিত, তাই আমি এই সিডব্লিউ করব।


1

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

a="a=%r;print(a%%a)[input()]";print(a%a)[input()]

নেতিবাচক সূচকগুলি সমর্থন করে।


হ্যাঁ, এটি নেতিবাচক ইঙ্গিতগুলিকে সমর্থন করে।
বিড়াল

1

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

main=getLine>>= \i->putChar$(!!(read i))$p++show p where p="main=getLine>>= \\i->putChar$(!!(read i))$p++show p where p="

Ungolfed:

main=getLine>>= \i->putChar$(!!(read i))$p++show p
 where p="main=getLine>>= \\i->putChar$(!!(read i))$p++show p\n where p="

1

বেফঞ্জ 93, 5 বাইট

এটি বেশ (খুব) দেরিতে তবে আমি এটি যেভাবেই পোস্ট করব:

&0g,@

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