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


30

আপনার লক্ষ্য হ'ল এমন একটি প্রোগ্রাম তৈরি করা যা নিজেকে অনির্দিষ্টকালের জন্য মুদ্রণ করে প্রত্যেকের পরে একটি নতুন লাইন। সুতরাং, যদি আপনার প্রোগ্রামটি ওয়ান-লাইনার হয় তবে এটি আউটপুটটির প্রতিটি লাইনে পুনরাবৃত্তি হবে।

উদাহরণ

কার্যক্রম:

A

আউটপুট:

A
A
A
...

বিধি

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

শিরোনাম দেখে মনে হচ্ছে কেবল এক-লাইনের প্রোগ্রামগুলি যোগ্য?
পাওলো ইবারম্যান

@ PaŭloEbermann তারপরে সমস্যার বিবরণ পড়ুন। এটি একটি মজার শিরোনাম কারণ এটি ছড়া। এখানে একটি বৈধ বহু-লাইন প্রোগ্রাম একটি উদাহরণ আছে: codegolf.stackexchange.com/a/57985/34718 । আপনি কেবল শিরোনামটি পড়ে চ্যালেঞ্জ সম্পর্কে সমস্ত কিছু জানার আশা করতে পারবেন না।
mbomb007

@ পাওলোএবারম্যান এটি ঠিক while(1)println(your_code);
ম্যাথু রোহ

উত্তর:


19

বিদারণ, 7 বাইট

'!+!NR"

আমি এখনও অবধি খুঁজে পাওয়া সংক্ষিপ্ততম ফিশন কুইনের একটি পরিবর্তে সাধারণ পরিবর্তন : আমি কেবল অ-ধ্বংসাত্মক !পরিবর্তে ব্যবহার করছি Oএবং Nনতুন লাইনের জন্য একটি যুক্ত করেছি ।

সর্বোপরি, এখানে এটি কীভাবে কাজ করে: Rডানদিকে যাওয়া পরমাণু দিয়ে নিয়ন্ত্রণ প্রবাহ শুরু হয় । "স্ট্রিং মোড টগল করে, যার অর্থ পরবর্তীটি "প্রিন্ট না হওয়া পর্যন্ত সবকিছু : এক্ষেত্রে '!+!NR। এটি "মুদ্রণযোগ্য এবং নতুন লাইন ছেড়ে যায় । '!পরমাণুর ভর 33 এ সেট করে, +34-এ উন্নীত করে (বর্ণের কোড ") এবং !উদ্ধৃতিটি মুদ্রণ করে। Nএকটি নতুন লাইন প্রিন্ট করে, এবংR এখন এই ক্ষেত্রে -অপশন, তাই লুপ শুরু হয়।

নিম্নলিখিত 7-বাইট সমাধানটিও কাজ করে:

"NR'!+!

9

> <> , 16 বাইট

'ard3*o50l2)?.~~

Traditionalতিহ্যবাহী> <> কুইন অনেকগুলি ব্যবহার করে o, তাই আমরা মুদ্রণের জন্য একটি লুপ ব্যবহার করি। প্রতিটি লাফ দেওয়ার আগে আমরা 5 এবং 0 টি ধাক্কা দেয় (কোথায় যেতে হবে তার স্থানাঙ্কগুলি), তারপরে আমরা .তখন কিছুটা প্রিন্ট করার মতো কিছু আছে কিনা তা দিয়ে ঝাঁপিয়ে পড়ি , বা শীর্ষ দুটি মানকে পপ করি ~~

(স্ট্যাক ওভারফ্লো নিয়মটি ভুলে যাওয়ায় 16 সংস্করণে ফিরে এসেছি))


বিকল্প আছে "ar00go50l2)?.[, তাই না?
mbomb007

3
@ mbomb007 আমার ধারণা, তবে আমি পছন্দ করি d3*যেহেতু gআপনার নিজস্ব উত্স কোডটি পড়েছে
Sp3000

8

সিজেম, 13 বাইট

{_o"_g
"o1}_g

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

ব্যাখ্যা

অবশেষে একটি জেনারেলাইজড সিজেএম কুইন যা শেষ হয় না _~

{_o"_g
"o1}

এটি কেবল একটি ব্লককে ধাক্কা দেয়। _gব্লকের সদৃশ এবং এটি বারবার কার্যকর করে যখন স্ট্যাকের শীর্ষটি সত্যবাদী (শর্তটি অস্বীকার করে)।

এখন ব্লকের ভিতরে, ব্লকের অন্য অনুলিপিটি এখনও স্ট্যাকের মধ্যে রয়েছে। আমরা এটির সাথে সদৃশ এবং মুদ্রণ করি _oএবং তারপরে আমরা _gএকটি নতুন লাইন (কুইনের মধ্যে প্রয়োজনীয় অতিরিক্ত নিউলাইন) এর পরে মুদ্রণ করি "_g\n"o1লুপটি পুনরাবৃত্তি করার জন্য অবশেষে আমরা স্ট্যাকের উপরে চাপ দিই , কারণ দুর্ভাগ্যক্রমে, ব্লকগুলি সিজেমে সত্যবাদী (বা মিথ্যা) নয়।


7

পাইথন 2, 39

পাইথনের খুব আকর্ষণীয় কাজ নয় কারণ এটি একটি সাধারণ কুইনে কিছুক্ষণ লুপ যুক্ত করা তুচ্ছ।

c='while 2:print"c=%r;exec c"%c';exec c

এটি স্ট্যাক ফুঁক দেয় না?
জেসান ফাফন

1
@ জিসানফাফন না, আপনি যদি এটি চেষ্টা করেন তবে আপনি দেখতে পাবেন যে এটি হয় না। কোনও পুনরাবৃত্তি নেই।
ফেয়ারসাম

6

পার্ল 5.10+, 40 37 বাইট

$_=q{say"\$_=q{$_};eval"while 1};eval

বা (37 বাইট)

$_=q{{say"\$_=q{$_};eval";redo}};eval

সঙ্গে ডাকা -M5.010বা -Eকম্যান্ড লাইন পাতাকার যেমন

$ perl -E '$_=q{say"\$_=q{$_};eval"while 1};eval'
$_=q{say"\$_=q{$_};eval"while 1};eval
$_=q{say"\$_=q{$_};eval"while 1};eval
$_=q{say"\$_=q{$_};eval"while 1};eval
...

আমার আসল সমাধান থেকে 3 টি বাইট শেভ করার জন্য ইলমারি করোনেনকে ধন্যবাদ , যা ছিল:

eval while$_=q{say"eval while\$_=q{$_}"}

এটি, পাশাপাশি উপরের সংক্ষিপ্ত 37-বাইট সমাধানগুলি হ'ল নিম্নোক্ত কুইনের সমস্ত সাধারণ প্রকরণ, যা আমি ইলমারির অন্যান্য পোস্টে প্রথম দেখেছি :

$_=q{say"\$_=q{$_};eval"};eval

যেহেতু আমি আমার মূল সমাধানটিতে যা কিছু যুক্ত করেছি তা একটি whileলুপ ছিল , তাই তিনি সত্যই বেশিরভাগ creditণের দাবিদার। :-)


ভাল, এবং কৃতিত্বের জন্য ধন্যবাদ। :-) আসল কুইনটি আমার নিজস্ব ডিজাইন, যদিও অন্য কেউ আগে এটি স্বাধীনভাবে আবিষ্কার করেছিলেন। বিটিডাব্লু, $_=q{say"\$_=q{$_};eval"while 1};evalবা $_=q{{say"\$_=q{$_};eval";redo}};evalকয়েক বাইট সংক্ষিপ্ত হবে। ( $_=q{say"\$_=q{$_};eval";eval};evalএটি এখনও আরও ছোট হবে তবে আমার সন্দেহ হয় যে এটি শেষ পর্যন্ত
স্তূপের

আমি আশা করছিলাম আপনি প্রদর্শন করবে! সংক্ষিপ্ত সমাধানের জন্য আপনাকে ধন্যবাদ, আমি অনুভব করেছি যে আপনি আরও ভাল কিছু নিয়ে আসবেন; আমি যে উত্তরটির সাথে সংযুক্ত হয়েছি তা যখন দেখেছি তখন এটির দ্বারা আমার এত দূরে উড়ে গিয়েছিল, আমাকে কেবল এটি চেষ্টা করে দেখতে হয়েছিল। :) সত্যি কথা বলতে কি, আমি এখনও আমার মাথাটি কুইনের চারপাশে বেশ জড়ান নি, তবে অতিরিক্ত উত্তরগুলি আমাকে আরও দেখতে দেয়। আমি নিশ্চিত ছিলাম না আপনি এর উদ্ভব করেছেন কিনা কারণ আমি এই পৃষ্ঠায় আপনাকে সর্বকালের সবচেয়ে স্বল্পতম প্রতারণামূলক পার্ল কুইন (?!) দিয়ে কৃতিত্ব দেখিয়েছি , তবে এই কুইনের কোনও কারণ নেই ( printপরিবর্তে ব্যবহার করে say)।
এইসুইটসআইবলাকনট

বিটিডব্লিউ, শেষটি কিছুক্ষণের জন্য দৌড়ানোর পরে সেগফল্টটি করে। আবার ধন্যবাদ, ইলমারী!
এইসুইটসআইবলাকনট

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

ঠিক আছে, আমি উত্সটি অনির্ধারিত রেখেছি। নির্বিশেষে, 3 বাইটের জন্য আপনাকে ধন্যবাদ এবং মূল অনুপ্রেরণার জন্য আপনাকে ধন্যবাদ।
এইসুইটস ব্ল্যাকনট

5

স্ব-পরিবর্তনকারী মস্তিষ্ক *** (এসএমবিএফ) , 14 বাইট

পেছনের নতুন লাইনের \nজন্য আক্ষরিক, ইউনিক্স, নিউলাইন (ASCII কোড 10) হওয়া দরকার।

[<[<]>[.>]<.]\n

ব্যাখ্যা:

কোডটি তার উত্স কোডের বহির্মুখী দিকে পয়েন্টারটিকে সরিয়ে দেয়, তারপরে নিউলাইন (নিয়মের দু'বার / সি) সহ এটি সমস্ত মুদ্রণ করে। লুপ চলতে থাকে।


তুমি বলতে \rচাও , এটা তো হবে ?
ইসমাইল মিগুয়েল

@ ইসমাইলমিগুয়েল নং \nএকটি নতুন লাইন, এবং এটি ASCII কোড 10, সুতরাং উত্স কোডের একটি হেক্স-ডাম্পের 0Aসেই বাইটের মান হবে । কোড.cside.com/3rdpage/us/newLine.html
mbomb007

1
@ ইসমাইল মিগুয়েল সত্য নয় আপনি যখন কোড টাইপ করেন, আপনি আসলে একটি নতুন লাইনের জন্য প্রবেশ কী টিপুন। \nআপনার কোডে সাধারণত 2 টি অক্ষর এবং 2 বাইট হিসাবে গণনা করা হয়। পাঠযোগ্যতার জন্য আমি এইভাবে টাইপ করেছি, যেহেতু আমার উত্স কোডের শেষে ফাঁকা রেখা দেখানোর জন্য ফর্ম্যাটটি ভাল কাজ করে না। এবং তাই আমি উল্লেখ করতে হয়েছিল যে এটি এক বাইট ছিল, দুটি নয়।
mbomb007

2
\nসর্বদা একটি একক অক্ষর, একে লাইনফিড বলে । একটি নতুন লাইন , বাইটের একটি প্ল্যাটফর্ম নির্ভর ক্রম।
ডেনিস

2
@ ডেনিস সম্ভবত তাই, তবে আমি পাত্তা দিই না। আমি /কোনও "সলিডাস" ডাকি না , এবং কেও করে তা আমি চিনি না। "নিউলাইন" একটি দিয়ে শুরু হয় nএবং এটিই পালানোর চরিত্র, তাই আমি এটাকেই ডাকি। এটি "ক্যারেজ রিটার্ন" এর চেয়ে "লাইন ফিড" এর কাছাকাছি।
mbomb007

3

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

$d='$d={0}{1}{0}{2}while(1){3}Write($d -f [char]39,$d,"`n",[char]123,[char]125){4}'
while(1){Write($d -f [char]39,$d,"`n",[char]123,[char]125)}

রোসটা কোড পাওয়ারশেল কুইনকে ভিত্তি করে , আমি যথেষ্ট আত্মবিশ্বাসী যে এটি সবচেয়ে কমতম সম্ভব নয়। স্ট্রিং রিপ্লেসমেন্ট PowerShell মধ্যে বিন্যাসন, এই জন্য কিনতে হত কারণ যেখানে প্রতিস্থাপন করা জন্য একই বিভেদক {}এছাড়াও সীমানা কোড ব্লক while{}, তাই আমরা ব্যবহার করতে হবে [char]ঢালাই, যা কোড একটি গুচ্ছ bloats।


3

আন্ডারলোড, 25 বাইট

প্রথমবার আমি এই জাতীয় কিছু চেষ্টা করেছি এবং আমি নিশ্চিত নই যে এটি সমস্ত নিয়ম অনুসরণ করে কারণ এটি কয়েকটি লাইন। নিউলাইনটি ছিল কিছুটা ব্যথা।

(::a~*S:a~*^
)::a~*S:a~*^

1
@ mbomb007 পুনরাবৃত্তি প্রতি আউটপুট হল প্রোগ্রামটির দুটি লাইন। আমি এটি এখানে
মিকিটি

3

বেফুঞ্জ , 30 20 বাইট

<,+55,*2+98_ #!,#:<"

একটি জনপ্রিয় বেফঞ্জ কুইনের একটি প্রকরণ যা লাইনটি শেষ করে যদি একটি নতুন লাইন প্রিন্ট করে এবং স্ট্যাকের উপর -1 পপ করে।
দুর্ভাগ্যক্রমে, বেফুঞ্জ এক লাইনে জিনিসগুলি করার সময় ভার্জোজ হয়। আমি যে লঞ্চপ্যাডগুলি করতে পেরেছিলাম সেগুলি মুছে ফেলার চেষ্টা করেছি (তবে #) কিছু কমান্ড (যেমন ,) ছেড়ে যেতে হয়েছিল ।

পরিবর্তন করুন:

30-20 -> বেস কুইনটিকে কাস্টম হিসাবে পরিবর্তিত করে আমি স্ট্রিং ইনপুট ব্যবহার করি। এইভাবে, শাখা প্রশাখা অনেক সহজ।

পুরানো:

:0g,:93*`>0-10 #,+$#: #5 _1+>

আমি মনে করি এটি অনুকূল নয়, তবে এটি আপাতত গ্রহণযোগ্য।


কোনও স্থান দখল করতে আপনি একটি নির্দেশিকা ব্যবহার করতে পারেন, এবং এর চেয়ে এক বাইটের চেয়ে ছোটের জন্য আরও 2 টি যোগ করুন 98+2/: <, + 55, + 2g1_ #!, #: <"
মাইল্ডলি মিল্কয়েস্টস্ট

এবং প্রথমে উদ্ধৃতি এবং নিউলাইনটি টিপুন এবং মুদ্রকটিকে বিপরীত করুন-1g0:+5<>:#,_1"
জো কিং


2

আর, 34 বাইট

repeat{write(commandArgs()[5],'')}

কমান্ড লাইন থেকে নিম্নলিখিত হিসাবে প্রার্থনা করতে:

Rscript -e "repeat{write(commandArgs()[5],'')}"

2

> <>, 31 29 বাইট

Traditionalতিহ্যবাহী> <> কুইনের একটি সাধারণ পরিবর্তন ।

"ar00gc0.0+efooooooooooooooo|

চালানোর জন্য, এটি এখানে আটকান , 'জমা দিন' ক্লিক করুন, তারপরে 'শুরু' (অ্যানিমেশন ছাড়াই চলমান কাজ করে না)। নির্বাহের গতি বাড়াতে নির্দ্বিধায়


"ar00gc0.0+feooooooooooooooo|দুটি বাইট সংক্ষিপ্ত।
কোলে

কুল ধন্যবাদ আমি আয়নাটি সম্পর্কে ভেবেছিলাম, তবে অন্য চ্যালেঞ্জের দিক থেকে অনুসরণ করার পরে এটি পরিবর্তন করতে ভুলে গিয়েছি।
mbomb007


@ জোকিং ইতিমধ্যে একটি সংক্ষিপ্ত> <> সমাধান রয়েছে
mbomb007


2

গল্ফস্ক্রিপ্ট, 16 বাইট

{.".do
":n\p}.do

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


1

বেস, 76 বাইট

কেবল প্রতিরোধ করতে পারেনি, বিশেষত পাওয়ারশেলের সাথে এখানে :)

while true;do
a ()
{
    echo while true\;do
    declare -f a
    echo a\;done
}
a;done

একটি সাদা কপির জন্য সাদা স্থানটি গুরুত্বপূর্ণ।


1

জাভাস্ক্রিপ্ট (ES6), 64

for(;;(_=>console.log(`for(;;(_=>${arguments.callee})());`))());

বিকল্পভাবে (64৪)

a="for(;;)console.log(`a=${JSON.stringify(a)};eval(a)`)";eval(a)

বিকল্প কি স্ট্যাকের উপচে পড়বে না?
প্যাট্রিক রবার্টস

না। কোনও পুনরাবৃত্তি নেই তাই স্ট্যাকটিতে কোনও কিছুই যুক্ত করা উচিত নয়।
ড্যাঙ্কমেস

ঠিক আছে, ভাল আমি কেবল তাদের দু'টি পরীক্ষা করেছি, আপনি বিকল্প সমাধান সম্পর্কে সঠিক, তবে আপনার প্রথম সমাধানটি ব্যর্থ হয়েছে এবং আমি কেন তা বুঝতে পেরেছি। তীর ফাংশনগুলিতে MDN ডকুমেন্টেশন অনুসারে , "তীর ফাংশনগুলি তাদের কোডের সাথে একটি আর্গুমেন্ট অবজেক্টটি প্রকাশ arguments.calleeকরে না " সুতরাং আপনার অস্তিত্ব নেই এবং ত্রুটি ছুঁড়ে ফেলে।
প্যাট্রিক রবার্টস

মজাদার. আমার জন্য ফায়ারফক্স বিকাশকারী সংস্করণ 42.0a2 (2015-09-13) উভয়ই কাজ করে। আমার ধারণা, একবার মান পুরোপুরি গৃহীত হলে প্রথমটি কাজ করা বন্ধ করে দেবে।
ড্যাঙ্কমেস

আমি সর্বশেষ ক্রোমে তাদের পরীক্ষা করেছি যেহেতু আমি প্রথম !বন্ধন বন্ধ করার পরিবর্তে এবং লুপের পরে ফাংশন সম্পাদনটি লুপের পরে রাখার জন্য লুপের পরে সেমিকোলন বডি যা সংরক্ষণ করতে পারে (যা আমার মনে হয়) 4 বাইট সংরক্ষণ করবে
প্যাট্রিকের

1

মাইক্রোস্ক্রিপ্ট , 22 বাইট

"f1{CqxCanx"f1{CqxCanx

Esolangs নিবন্ধ থেকে quine উপর নির্ভর করে: "fCqxah"fCqxah। ভাষাটি প্রয়োজন অনুসারে বন্ধ বন্ধনীগুলি বন্ধ করে দেয়, এটি ছাড়া এটি দুটি বাইট দীর্ঘতর হয় Exp


1

ব্যাচ, 10 (ফাইলের নামের দৈর্ঘ্যের জন্য + 4)

এটি দুটি কারণে যোগ্যতা অর্জন করে কিনা তা নিশ্চিত নন:

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

কোড (q.bat নামের একটি প্রোগ্রামের জন্য):

echo on&&q

2
আমি এটি পেতে পারি যেহেতু এটি সবচেয়ে কম নয় এবং এটি সৃজনশীল এবং অনন্য unique এবং এটি উত্স কোডটি পড়ছিল না, বরং নিজেই চালাচ্ছে।
mbomb007

1
যেহেতু ফাইলের নাম নির্বিচারে নয়, খুব কমপক্ষে আপনার ফাইলের নামটি বাইট গণনায় যুক্ত করা উচিত।
মার্টিন ইন্ডার

1
আমি বিশ্বাস করি আপনি এটি ব্যবহার করতে পারেন echo on&&%0যদিও আমি এটি চেষ্টা করতে ভয় পাচ্ছি।
ডানক্মেমস

1
আপডেট: echo on&&%0কাজ করে না। %0আউটপুটটিতে প্রসারিত হিসাবে প্রদর্শিত হয় এবং উইন্ডোজ (7, 32 বিট, একটি ভিএম চলমান) পুরো জিনিসটি বেশ দ্রুত শেষ করে দেয়।
ড্যাঙ্কমেস

1
আমি মনে করি আপনি .batঅংশটি বাদ দিতে পারেন
সুপারজেডি ২২৪

1

সিলোন , 210 208 বাইট

অবশ্যই এটি কিছুই জিতবে না ...

shared void u(){value q="\"\"\"";value t="""shared void u(){value q="\"\"\"";value t=""";value b="""while(1<2){print(t+q+t+q+";value b="+q+b+q+";"+b);}}""";while(1<2){print(t+q+t+q+";value b="+q+b+q+";"+b);}}

মূল:

shared void u(){value q="\"\"\"";value t="""shared void u(){value q="\"\"\"";value t=""";value b="""while(true){print(t+q+t+q+";value b="+q+b+q+";"+b);}}""";while(true){print(t+q+t+q+";value b="+q+b+q+";"+b);}}

আমি আমার পরিবর্তন while(true){...} লুপ যুক্ত করে কুইনকে দু'দিন আগে , সুতরাং আমি প্লেইন কুইনের 185 বাইট থেকে 210 এ এসেছি (আমার আর নতুন লাইনের চরিত্রের দরকার নেই)। তবে আমি দেখতে পেলাম যে একটি while(1<2){...}লুপ এমনকি দুটি বাইট ছোট sh

shared void u(){value q="\"\"\"";value t="""shared void u(){value q="\"\"\"";value t=""";value b="""while(1<2){print(t+q+t+q+";value b="+q+b+q+";"+b);}}""";while(1<2){print(t+q+t+q+";value b="+q+b+q+";"+b);}}

(সিলোন নেই for(;;) লুপ , এবং এই লুপটির জন্য ধনুর্বন্ধনীও প্রয়োজন))


1

পাওয়ারশেল, 132 107 বাইট

$a='$a={0}{1}{0};for(){2}$a-f[char]39,$a,[char]123,[char]125{3}';for(){$a-f[char]39,$a,[char]123,[char]125}

রোসটা কুইন (@ অ্যাডমবর্কবার্ক হিসাবে একই) এর ভিত্তিতে স্ট্রিং প্রতিস্থাপনের জন্য বিন্যাস ব্যবহার না করলেও ... সম্ভবত লুপের জন্য স্যুইচ করা এবং বিন্যাস ব্যবহার করা ভাল?

আমি নিশ্চিত যে অ্যাডমবর্কবার্ক ফিরে এলে তারা এটিকে অনেক মারবে: পি

সম্পাদনালুপ এবং প্রতিস্থাপনের জন্য , আমার পূর্বসূরীর জন্য সমস্ত ধন্যবাদ :)

পুরানো প্রচেষ্টা:

$a='$a=;for(){$a.substring(0,3)+[char]39+$a+[char]39+$a.substring(3)}';for(){$a.substring(0,3)+[char]39+$a+[char]39+$a.substring(3)}


1

জাভা 10, 194 বাইট

interface M{static void main(String[]a){for(var s="interface M{static void main(String[]a){for(var s=%c%s%1$c;;)System.out.println(s.format(s,34,s));}}";;)System.out.println(s.format(s,34,s));}}

ব্যাখ্যা:

এটি অনলাইনে চেষ্টা করুন (60 সেকেন্ডের পরে সময় বেরিয়ে আসুন)।

interface M{                    // Class
  static void main(String[]a){  //  Mandatory main-method
    for(var s="interface M{static void main(String[]a){for(var s=%c%s%1$c;;)System.out.println(s.format(s,34,s));}}";
                                //   Unformatted source code
        ;)                      //   Loop indefinitely
       System.out.println(      //    Print with trailing new-line:
         s.format(s,34,s));}}   //     The formatted source code

:

  • স্ট্রিং s অপঠিত উত্স কোড রয়েছে।
  • %s এই স্ট্রিংটি নিজের সাথে ইনপুট করতে ব্যবহৃত হয় s.format(...)
  • %c, %1$c এবং 34এগুলি ডাবল-কোট ফর্ম্যাট করতে ব্যবহৃত হয়।
  • s.format(s,34,s) সব একসাথে রাখে

চ্যালেঞ্জ অংশ:

  • for(;;) অনির্দিষ্টকালের জন্য লুপ ব্যবহার করা হয়।
  • System.out.println(...) নতুন লাইনের পিছনে মুদ্রণ করতে ব্যবহৃত হয়





1

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

∋"∋~kgjẉ₁⊥"gjẉ₁⊥

আপনি অনলাইনে এটি বেশ চেষ্টা করতে পারবেন না , তবে আমি যাচাই করেছি যে এটি আমার ইনস্টলেশনতে কাজ করে।

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

∋"∋~kgjw₁⊥~n"gjw₁⊥

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

এই কুইনের বিকল্প সংস্করণ থেকে অভিযোজিত , একটি ব্যাকট্র্যাকিং হ্যাক দিয়ে আমি প্রাথমিকভাবে সমস্ত জিনিস বোগোসর্টের জন্য তৈরি করেছিলাম । দুটি বাইট ব্যয় করে ~nকারণ (পিছনে থাকা নতুন লাইনের সাহায্যে মুদ্রণের জন্য সাধারণ উপায়) টিআইও-তে অক্ষর এনকোডিংয়ের সাথে কিছু বিজোড় সমস্যা হিট করে এবং স্ট্রিংয়ের ভিতরে actualোকানো একটি প্রকৃত নিউলাইনটি মুদ্রিত হয়ে যায় through~k হিসাবে\n

               w      Print
 "∋~kgjw₁⊥~n"         "∋~kgjw₁⊥~n"
∋                     which is an element of
                      the (unused and unconstrained) input
                ₁     formatted
          ~n          (so that the ~n is replaced with a newline)
             gj       with itself
   ~k                 (so that the ~k is replaced with the string in quotes),
                 ⊥    then try again.

যেহেতু w₁একটি তালিকা হিসাবে ইনপুট নেয় [string to be formatted, formatting arguments], একটি স্ট্রিংকে তালিকায় মোড়ানো gতার সাথে নিজেই এটি যুক্ত করে তা নিজেই jফর্ম্যাট করতে দেয়। এবং যেহেতু প্রোগ্রামটিকে কোনও ইনপুট দেওয়া হয়নি, প্রোগ্রামের শুরুতে অন্তর্নিহিত উপস্থিত ইনপুট ভেরিয়েবল কোনও মান গ্রহণ করতে পারে, সুতরাং এটি অসীম বহু তালিকার একটিতে সীমাবদ্ধ হতে পারে যা "∋~kgjw₁⊥~n"উপাদান হিসাবে রয়েছে , একটি একক তৈরি করে পছন্দ পয়েন্টটি যখন তার উত্স মুদ্রণের পরে প্রোগ্রামটি হিট করে তখন ব্যাকট্র্যাক করা উচিত


1

পাইথন 3.6, 48 43 বাইট।

-5 বাইটস @ জো কিংকে ধন্যবাদ

x='while 1:print("x=%r;exec(x)"%x)';exec(x)

আপনি %rসেগুলি পালাতে বাঁচাতে ব্যবহার করতে পারেন '43 বাইট
জো কিং

যা অজগর 3.8 এর জন্য 41 দেয় : পি
এএসসিআইআই-

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