সর্বাধিক পুনরাবৃত্তির গভীরতা [বন্ধ]


15

আপনার ভাষার কি সর্বাধিক পুনরাবৃত্তি গভীরতা (এমআরডি) রয়েছে?

ধরা যাক আপনার ভাষাতে এমআরডি = 500 রয়েছে

এমন একটি কোড লিখুন যা পুনরাবৃত্তির গভীরতা সন্ধান করে এবং সঠিক মানকে ছাড়িয়ে যায়

আপনার প্রোগ্রামের উপরে (বা ফাংশন) 500 এর আউটপুট হওয়া উচিত

কোড-গল্ফ সংক্ষিপ্ত উত্তর জয়!


3
@cairdcoinheringaahing ... "যে পুনরাবৃত্তির গভীরতা খুঁজে পায়" এর অর্থ হার্ডকডিংটি অবৈধ

6
আমি মনে করি এই চ্যালেঞ্জের মূল সমস্যাটি হ'ল হার্ডকোডযুক্ত মান প্রিন্ট করার অনুমতি নেই তবে হার্ডকোডযুক্ত সিস্টেমের ভেরিয়েবলটি পড়া ভাল। দু'টি আমার কাছে সত্যিই আলাদা বলে মনে হচ্ছে না।
জেমস

2
@ ডিজেএমসিমেহেম বিল্ট-ইনগুলি অনেক সময় হার্ডকোডযুক্ত তথ্য ব্যবহার করে। এই চ্যালেঞ্জটি বিল্ট-ইনগুলিকে অনুমতি দেয়।

7
হ্যাঁ, এটা আমার বক্তব্য। তারা উভয়ই কেবল একটি হার্ডকোডযুক্ত মান পড়ছে, তবে একটির অনুমতি রয়েছে এবং অন্যটি তা নয়।
জেমস

3
গণিতায় অন্তর্নির্মিত @ ডিজেএমসিমেহেমের সুইস পতাকাও থাকতে পারে (আমি এই চ্যালেঞ্জটি এখানে দেখেছি), তবে জেপিজি হিসাবে একই পতাকাটি পোস্ট করা অবৈধ।

উত্তর:


49

গণিত, 15 বাইট

$RecursionLimit

¯ \: _ (ツ): _ / ¯

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


17
অবশ্যই ম্যাথামেটিকায় এর জন্য একটি বিল্ট ইন আছে! +1
শে


একই শিরাতে ইমাস লিস্প (19): সর্বাধিক-লিস্প-ইভাল গভীরতা
শুঁয়োপোকা

19

পাইথন 3 , 40 বাইট

def f(x=2):
 try:f(x+1)
 except:print(x)

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

শুধু বিল্টিন থেকে এটি না পড়ে। আমরা 1 এর পরিবর্তে 2 এ শুরু করি কারণ বাদ দেওয়া ধারাটি ত্রুটি হওয়ার আগে একটি স্তর চালিত হয়। এটি অবশ্যই অজগর 2 এর একটি বাইট সংক্ষিপ্ত।


1
আপনাকে কল করার 3 বাইট প্রয়োজন হবে না চ
8bitwide

একটি কার্য হিসাবে @ 8 বিটওয়াইড জমাগুলি ডিফল্টরূপে গৃহীত হয় accepted যদি প্রশ্নটি তাদের নির্দিষ্টভাবে নিষিদ্ধ না করে আপনি সমাধান হিসাবে পুনরায় ব্যবহারযোগ্য ফাংশন জমা দিতে পারেন। আপনি লক্ষ্য করবেন যে এই প্রশ্নের অন্যান্য অনেক উত্তর একই কাজ করে।
FryAmTheEggman

15

জাভাস্ক্রিপ্ট (ব্যাবেল) , 35 33 29 বাইট

f=_=>do{try{-~f()}catch(e){}}
  • 2 বাইট সংরক্ষিত নীলকে ধন্যবাদ

এটি এখানে চেষ্টা করুন বা এর evalপরিবর্তে এটি পরীক্ষা করতে নীচে স্নিপেট ব্যবহার করুন do

console.log((f=_=>eval(`try{-~f()}catch(e){}`))())


জাপট বন্দর, 24 বাইট

এটি পৃথক সমাধান হিসাবে পোস্ট করার পক্ষে এটি যথার্থ নয় কারণ এটি মূলত অভিন্ন।

Ox`try\{-~rp()}¯t®(e)\{}

এটা পরীক্ষা করো


ব্যাখ্যা

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

console.log((f=(i=0)=>eval(`try{f(i+1)}catch(e){i}`))())
console.log((f=i=>eval(`try{f(-~i)}catch(e){i}`))())
console.log((f=(i=0)=>eval(`try{f(++i)}catch(e){i}`))())
console.log((f=_=>eval(`try{-~f()}catch(e){}`))())
console.log((f=_=>eval(`try{f()+1}catch(e){0}`))())
console.log((f=_=>eval(`try{1+f()}catch(e){0}`))())

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

f=_=>f()

তবে এই চ্যালেঞ্জের জন্য এটি আমাদের পক্ষে খুব বেশি ব্যবহারযোগ্য নয় কারণ এটি কেবল একটি ওভারফ্লো ত্রুটিটি ছুঁড়ে ফেলেছে যে fনিজেকে কতবার ডাকা হয়েছে তার কোনও ইঙ্গিত ছাড়াই । আমরা দ্বারা ত্রুটি এড়াতে পারেন trying কলে fক্রমাগত এবং catching যখন এটি ব্যর্থ হলে:

f=_=>{try{f()}catch(e){}}

কোনও ত্রুটি নেই, তবে এখনও ব্যর্থ হওয়ার আগে কতবার ফাংশন নিজেকে কল করতে পরিচালিত হয়েছিল তার কোনও রিটার্ন ভ্যালু নেই, কারণ এটি catchআসলে কিছুই করছে না। আসুন try / catchবিবৃতিটি মূল্যায়ন করার চেষ্টা করুন :

f=_=>eval(`try{f()}catch(e){}`)

এখন আমরা ফিরে আসার একটি মূল্য পেয়েছি (এবং এটি কোড গল্ফ কারণ, আসল ব্যবহারের মাধ্যমে কয়েক বাইট নিজেকে রক্ষা করেছে return)। প্রত্যাবর্তন করা মানটি undefinedআবার, কারণ এটি catchকিছুই করছে না। আমাদের জন্য সৌভাগ্য যে -~undefined==1এবং -~n==n+1তাই হয়, একটি পপিং দ্বারা -~কল সামনে থেকে f, আমরা মূলত পেয়েছেন -~-~ ... -~-~undefined, অন্য সঙ্গে -~প্রতিটি কলের সঙ্গে prepended আমাদের যতবার দান fডাকা হয়।

f=_=>eval(`try{-~f()}catch(e){}`)

দুর্দান্ত সমাধান, যেহেতু আমি ধরে নিচ্ছি যে জেএসে আপনার পুনরাবৃত্তির গভীরতার অ্যাক্সেস নেই!
জাকারি

3
33 বাইট:f=_=>eval('try{-~f()}catch(e){}')
নীল

@ নীল: আমি যখন বিছানায় যাচ্ছিলাম তখন আমি আপনার 34 বাইট সংস্করণটি দেখেছিলাম এবং এটি না ভেবে নিজেকে লাথি মেরেছিলাম। 33 বাইট সংস্করণ অনুপ্রাণিত হয়। ধন্যবাদ।
শেগি

13

ম্যাথমেটিকা ​​(অন্তর্নির্মিত নয়), 20 বাইট

#0[#+1];&@1
%[[1,1]]

উইম ছাড়লে ;গণনা করা হবে 1+$IterationLimit(সম্ভবত ম্যাথমেটিকা ​​টু ফাংশনটি অনুকূল করে তোলে)। বিকল্পভাবে ডিফল্ট হিসাবে 0 //. x_ -> x + 1গণনা করুন , অর্থাৎ (যা উভয় মানের চেয়ে বড়))ReplaceRepeatedMaxIteration65536

(এটি একটি কোড স্নিপেট যা ফলাফলের মূল্যায়ন করে However তবে অন্যান্য ম্যাথমেটিকার সমাধানটিও রয়েছে)


10

জে, 8 বাইট

1+$: ::]

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

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

সম্পাদনা করুন: ওপিকে 0 টি কার্য গ্রহণের অনুমতি দিয়েছে take

ব্যাখ্যা

1+$: ::]
     ::]  Assign adverse: if an error occurs, call ] (the identify function)
1+        Add one to
  $:      Recursive call to self

এটি স্ট্যাকের ত্রুটিটিকে আঘাত না করা পর্যন্ত ইনপুটটিতে 1 যোগ করে (0 প্রত্যাশিত) এটি পুনরাবৃত্তভাবে কল করে। এটি ত্রুটিযুক্ত হয়ে গেলে, এটি ]ইনপুটটিতে প্রতিকূল (ডান সনাক্তকরণ) ডাকে , যা কেবল 0।

যাইহোক, স্থান প্রয়োজনীয়


1
আমার মেশিনে 6000 আউটপুট দেয়। fww আমি মনে করি এটি সুষ্ঠু খেলা হওয়া উচিত তবে আপনি সর্বদা আপনার উত্তরটি দিতে পারেন(1+$: ::]) 0
জোনা

@ জোনাঃ ফেয়ার পয়েন্ট, আমি ফাংশন জমা দেওয়ার জন্য অভ্যস্ত। আমার মেশিনে, এটি 6666 অদ্ভুতভাবে যথেষ্ট।
কোলে

একটি আইপ্যাড প্রো এ 6660। শান্ত!
আগুনজু

এটি যেভাবে সর্বাধিক পুনরাবৃত্তির গভীরতা পরিচালনা করে তা সংস্করণ নির্ভর করে বলে মনে হয় - আমার ফোনে আমি 5999 পাই (যা 1 এর মাধ্যমে বন্ধ হয়ে যায় বলে মনে হচ্ছে)। আমার আইপ্যাডে (সত্যি বলতে আমি কোন মডেলটি মনে করি না), এটি কেবল ক্র্যাশ হয়ে গেছে।
কোলে

9

পাইথন 3 , 41 32 বাইট

import sys
sys.getrecursionlimit

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

@ ফ্রাইআমএইজিগম্যানকে 9 টি বাইট সংরক্ষণ করা হয়েছে!

34 বাইট

from sys import*
getrecursionlimit

35 বাইট

__import__('sys').getrecursionlimit

শেষ 2 টি @ টোটালিহিউম্যানকে ধন্যবাদ


32 বাইট , 34 বাইট এবং 35 বাইট । তোমারটা নাও. : পি
সম্পূর্ণমানবিক

@ ফ্রাইএইমডিজম্যান হ্যাঁ আমি পারি, আপনাকে ধন্যবাদ!
কেয়ার্ড কোইনারিংহিংহ

প্রথম ২ চালানোর চেষ্টা করার সময় আমি একটি ত্রুটি পেয়েছি (কমপক্ষে টিআইও তে)
শেগি

@ শেগি আপনাকে প্রথমটির জন্য লাইনগুলি অদলবদল করতে হবে, বিল্টিনকে কোনও নাম বরাদ্দ করার অনুমতি দেওয়ার জন্য আমদানিটি তার পরে চলে। আমি লিঙ্কটি আপডেট করব।
কেয়ার্ড কইনিরিংহিংহ সেটিং

8

সি (জিসিসি, লিনাক্স এক্স 64), 180 133 বাইট

-4 বাইটস @ স্কটনেটকে ধন্যবাদ

c;f(){f(++c);}h(){exit(printf("%d",c));}main(){int b[512];f(sigaction(11,(int*[]){h,[17]=1<<27},sigaltstack((int*[]){b,0,2048},0)));}

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

বিকল্প সিগন্যাল স্ট্যাক (ন্যূনতম আকার) সহ একটি SIGSEGV (সিগন্যাল 11) হ্যান্ডলার ইনস্টল করে MINSIGSTKSZSA_ONSTACK সিগসইজিভি 2 কেবি, পতাকা 0x08000000), তারপরে আর্গুমেন্ট ছাড়াই কোনও ফাংশন কল করে এবং স্ট্যাকের ওভারফ্লো না হওয়া পর্যন্ত কোনও স্থানীয় ভেরিয়েবল পুনরাবৃত্তভাবে কল করে। এটি আকর্ষণীয় যে সর্বোচ্চ পুনরাবৃত্তির গভীরতা রান জুড়ে পরিবর্তিত হয়, সম্ভবত এএসএলআরের কারণে।

সিতে সর্বাধিক পুনরাবৃত্তির গভীরতা অবশ্যই অনেকগুলি কারণের উপর নির্ভর করে। একটি সাধারণ -৪-বিট লিনাক্স সিস্টেমে ডিফল্ট স্ট্যাকের আকার 8 এমবি এবং স্ট্যাক সারিবদ্ধকরণটি 16 বাইট হয়, তাই আপনি সাধারণ ক্রিয়াকলাপগুলির জন্য প্রায় 512K এর পুনরাবৃত্তি গভীরতা পান।

এছাড়াও নোট করুন যে উপরের প্রোগ্রামটি -O2টেল কল অপ্টিমাইজেশনের কারণে কাজ করে না ।


1
+1 টি! আপনি ইনক্রিমেন্টিং cএবং কল করে exitএবং sigactionপরামিতি হিসাবে 4 বাইট সংরক্ষণ করতে পারেন । এটি ফলাফলের উপর একটি লক্ষণীয়
তাত্পর্য

6

জাভা 8, 131 51 48 47 43 বাইট

int d;int c(){try{c();}finally{return++d;}}

-80 বাইট @ নেভায়ে ধন্যবাদ । আমি প্রোগ্রামের পরিবর্তে একটি পদ্ধতি চেষ্টা করেছি, তবে একটি ভুল করেছি তাই একটি সম্পূর্ণ প্রোগ্রাম দিয়ে শেষ হয়েছে .. এখন এটি একটি পদ্ধতি।
-3 বাইট পরিবর্তে ব্যবহার করে @ নীল ধন্যবাদ । -5 বাইট আবার @ নেভায়ে ধন্যবাদ ।finallycatch(Error e)

ব্যাখ্যা:

এখানে চেষ্টা করুন।

int d;                 // Depth-integer `d` on class-level (implicit 0)
int c(){               // Method without parameter and integer return-type
  try{c();}            //  Recursive call
  finally{return++d;}  //  Increase depth-integer `d` and always return it,
                       //   whether a StackOverflowError occurs or not
}                      // End of method

1
51 বাইট:int c(){try{return-~c();}catch(Error e){return 1;}}
নেভায়ে

2
@ নেভায়ে আপনি প্রায়শই মন্তব্যে দুর্দান্ত উত্তর পোস্ট করেন। আপনি এগুলি উত্তর হিসাবে পোস্ট করতে পারেন এবং কিছু খ্যাতি পেতে পারেন। বেশ কয়েকটি জাভা উত্তর থাকা থেকে কোনও প্রশ্নই বাধা দেয় না। ;-)
অলিভিয়ার গ্রাগোয়ার

2
int c(){int n=1;try{n=-~c();}finally{return n;}}3 বাইট সাশ্রয় করে তবে আমাকে আলাদা উত্তর দেয়?
নীল

2
47 বাইট:int c(){int n=1;try{n+=c();}finally{return n;}}
নেভায়ে

1
43 বাইট:int d;int c(){try{c();}finally{return++d;}}
নেভায়ে


4

আর , 32 26 18 বাইট

-8 বাইটস সোভেন হোহেনস্টেইনকে ধন্যবাদ : $আংশিক মিল করবে, তাই আমরা পুরোটির expপরিবর্তে কেবল ব্যবহার করতে পারি expressions

cat(options()$exp)

optionsকমান্ড এছাড়াও পুনরাবৃত্তির গভীরতা, অর্থাত্ সেট ব্যবহার করা যেতে পারে options(expressions=500)500 জন্য।

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


1
এর সাথে আংশিক মিলের কারণে আপনি সরিয়ে সাতটি বাইট সংরক্ষণ করতে পারেন । ressions$
সোভেন হোহেনস্টেইন

1
অবদানের চেয়ে ভবিষ্যতের রেফারেন্সের জন্য আরও কিছু; আপনার কি এই catক্যমত্যটি বিড়ালকে আবদ্ধ করতে হবে ()? বেশিরভাগ পরিস্থিতিতে আর কিছু আউটপুট আসবে , সুতরাং কোনও পোস্ট কি কোথাও অনুসরণ করার জন্য ভাল অনুশীলন / যুক্তি স্পষ্ট করে?
ক্রিমিনালিভালগার

@ সোভেনহেনস্টেইন ডাং, আমি ভাল স্টাইলে আর কোড লেখার পরে আমি সর্বদা সে সম্পর্কে ভুলে যাই ... ধন্যবাদ!
জিউসেপে

1
@ ক্রিমিনালি ভ্যালগার উদাহরণ হিসাবে মেটাতে এই পোস্টটি দেখুন ; এটি সম্পর্কে অবশ্যই কিছু অনিশ্চয়তা আছে।
জিউসেপে

4

অক্টাভা , 25 22 20 বাইট

সানচাইসিসের পরামর্শের জন্য 2 বাইট অপসারণ করা হয়েছে

@max_recursion_depth

বেনামে ফাংশন যা মান আউটপুট করে।

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


আপনার প্রয়োজন নেই (), যেমন max_recursion_depthএকটি ফাংশনও।
সানচাইজস

@ সানচাইজস ধন্যবাদ! আপনি ঠিক বলেছেন : ডকটি এটি পরিবর্তনশীল হলেও এটি আসলে একটি ফাংশন
লুইস মেন্ডো

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

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

হ্যাঁ, অন্য উত্তরটি একটি প্রোগ্রামের মতো; আমি অবশ্যই নিশ্চিত নই যে এর বাস্তবিক প্রয়োজন হবে কিনা disp(আমি এটি অন্তর্ভুক্ত করতাম তবে এটি অক্টাভা আরপিএল সম্পর্কে আমার ব্যক্তিগত মতামত, এবং আমি এ বিষয়ে কোনও মেটা
sensকমত্যের

3

zsh, 24 বাইট

f(){f $[++i];f};set -x;f

এটি অনলাইন চেষ্টা করুন! (ডিবাগের অধীনে দেখুন)

ব্যাশ, 24 বাইট

f(){ f $[++i];};set -x;f

এটি অনলাইন চেষ্টা করুন! (ডিবাগের অধীনে দেখুন)

ksh93, 27 বাইট

f(){ f $(($1+1));};set -x;f

এটি অনলাইন চেষ্টা করুন! (ডিবাগের অধীনে দেখুন)

ড্যাশ, 27 বাইট

f(){ f $(($1+1));};set -x;f

এটি অনলাইন চেষ্টা করুন! (টিও ডিবাগ আউটপুট ছাড়িয়ে গেছে, এটি নিজের শেল এ চালান)


1
করা উচিত i=0এবং echoআপনার বাইট গণনা অন্তর্ভুক্ত করা?
শেগি

@Shaggy: সম্ভবত, আমি এটি একটি স্বয়ংসম্পূর্ণ সমাধান পরিবর্তিত হয়েছে
থর

1

লুয়া , 52 বাইট

f=load"b,e=pcall(f,(...or 3)+1)return b and e or..."

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


@ শেগি এই ক্ষেত্রে হ্যাঁ, কারণ আমি নামটি ব্যবহার করি। এটি যদি পুনরাবৃত্ত না হয় তবে আমি তা না পেয়ে
পালাতে পারতাম

আহ, আমি স্পট করা হয়নি fমধ্যে pcall
শেগি

আপনার প্রোগ্রামটি 200 এ কেন থামবে? এখানে আপনি দেখতে পারেন যে সহজ ফাংশন এটা 200. ছাড়াইয়া যায় যদি আপনি সরাতে --আপনি নিশ্চিত করতে পারে এটি এখনও কোন অপ্টিমাইজেশন সঙ্গে একটি recursive কল
ফিলিপ Nardi বাতিস্তা

1

কিউ / কেডিবি +, 16 বাইট

সমাধান:

{@[.z.s;x+1;x]}0

উদাহরণ:

/ solution
q){@[.z.s;x+1;x]}0
2000

/ without apply (try/catch)
q){.z.s x+1}0
'stack
@
{.z.s x+1}
2001

ব্যাখ্যা:

পুনরাবৃত্তি করার চেষ্টা করুন, প্রতিবারের মতো এক্স বাড়িয়ে নিন, ত্রুটি থাকলে, এক্স ফিরিয়ে দিন।

{@[.z.s;x+1;x]}0 / the solution
{             }0 / call lambda function with 0
 @[    ;   ; ]   / @[function;argument;catch]
   .z.s          / call self (ie recurse)
        x+1      / increment x
            x    / return x if function returns error

1

এক্সেল-ভিবিএ, 26 বাইট

?Application.MaxIterations

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

এক্সেল + এক্সেল-ভিবিএ, 3 + 38 = 41 বাইট

Function f:f=Application.MaxIterations

যে হিসাবে একটি ঘর থেকে কল করা যেতে পারে

=f(

বিল্ট ইন না ভিবিএর জন্য:

এক্সেল-ভিবিএ, 53 44 40 বাইট

ভেরিয়েবল হিসাবে -9 আর আরম্ভ বা প্রিন্ট করা প্রয়োজন

-4 একাধিক প্রিন্ট এড়ানোর জন্য কোড এক্সিকিউশন হিসাবে আর শেষ করতে হবে না

Sub s:[A1]=[A1]+1:On Error Resume Next:s

তাত্ক্ষণিক উইন্ডোতে এস সহ কল ​​করুন, কার্যপত্রকের A1 কক্ষের আউটপুট

(সতর্কতা এখন চালাতে কিছুটা সময় নেয়, Application.ScreenUpdating = Falseপ্রথমে যুক্ত করুন)



1

ক্লোজার, 72 55 48 বাইট

-23 বাইট পরমাণু থেকে মুক্তি পেয়ে

-Mad বাইটস @ এমডাস্টাপকে ধন্যবাদ। ব্যবহার পাল্টানো হয়েছে fnবেশি defএবং #(), এবং prউপর println

((fn f[i](try(f(inc i))(catch Error e(pr i))))0)

আমার ফোনে লিখেছেন এবং পরীক্ষা করেছেন। Clojure REPL অ্যাপ্লিকেশনটি আমাকে 13087 এর গভীরতা দিয়েছে।

বেসিক সমাধান। এসও নিক্ষেপ না করা পর্যন্ত পুনরাবৃত্তি করুন এবং প্রতিটি পুনরাবৃত্তিকে কাউন্টার বাড়িয়ে তোলেন। এটি নিক্ষেপ করা হলে, কাউন্টারটির মান মুদ্রিত হয়।


prপরিবর্তে ব্যবহার করে আপনি 5 বাইট সংরক্ষণ করতে পারেন println। এছাড়াও -2 বাইট এই জাতীয় fn তৈরি করে: ((fn f[x](,,,))0)পরিবর্তে (def f #(,,,))(f 0)
ম্যাডস্ট্যাপ

ধন্যবাদ আমি কিছুটা পরিবর্তন করব।
কারসিজেনিকেট

1

ভিবিএ, যে কোনও প্রকার, 41 39 বাইট

Function A:On Error Resume Next:A=A()+1

?A()তাত্ক্ষণিক উইন্ডোতে বা ওয়ার্কশিট ফাংশন হিসাবে কল করুন ।

বিঃদ্রঃ: এক্সেল-ভিবিএতে 4613 ফিরছে, যখন @ গ্রিডো দ্বারা দেওয়া উত্তরটি আমার সিস্টেমে 3666 ফেরত দেয় (সর্বোচ্চটি সর্বোচ্চ হওয়া উচিত)। স্পষ্টতই অফিস প্রোগ্রামগুলির মধ্যেও পরিবর্তিত হয় (অ্যাক্সেস-ভিবিএ 4622, ওয়ার্ড-ভিবিএ 4615 প্রদান করে)

সম্পাদনা: অনুমান করুন ভিবিএ প্যারান্থেসগুলি স্বয়ংক্রিয়ভাবে যুক্ত করে, তাই সেগুলি সরিয়ে ফেলা হয়েছে।


0

পাইথ - 9 বাইট

L.xyhbbyZ

আমি যদি উপরের জে উত্তরের মতো এটি চালাতে পারি তবে এটি 7 বাইট কারণ আপনি শেষটি বের করতে পারেন yZ

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


5
এটি আমার পক্ষে কাজ করে না। অফলাইন, আমি একটি সেগমেন্টেশন ত্রুটি পাই। অনলাইন, আমি কোনও আউটপুট পাই না get আপনি কোনও সেগফোল্ট ধরতে পারবেন না।
isaacg

@ আইস্যাকের অপেক্ষা এটি সত্যিই অদ্ভুত। অনলাইন, এটি খুব কমই দেয় 764তবে আপনি বেশিরভাগ সময় সঠিক কোনও ফলাফল দেন না।
মাল্টেসেন




0

রুবি, 39 বাইট

END{p$.}
$stderr=$<
f=->{$.+=1;f[]}
f[]

ত্রুটি বার্তাকে দমন করা এটির উদ্ধারের চেয়ে সামান্য খাটো, কারণ ডিফল্টরূপে rescueধরা পড়ে নাSystemStackError

যদি আমি অবিচ্ছিন্নভাবে আউটপুট করতে পারি, তবে nএকটানা নতুন লাইন চরিত্রের সাথে প্রতিনিধিত্ব করতে পারলে একটি উত্সাহী উত্তর রয়েছে :

রুবি, 35 বাইট

$stderr=$<
f=->{puts;$.+=1;f[]}
f[]

0

জেলি , 18 বাইট

:( *

“¡żuẋ×HẒpƙ7"8!ƭ»ŒV

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

কিভাবে?

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

“¡żuẋ×HẒpƙ7"8!ƭ»ŒV - Link: no arguments
“¡żuẋ×HẒpƙ7"8!ƭ»   - compression of "sys."+"get"+"recursion"+"limit"+"()"
                ŒV - evaluate as Python code
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.