যদি কোনও প্রোগ্রাম শেষ হয়ে যায় এবং এটি দেখার মতো কেউ না থাকে, তবে কি এটি বন্ধ হয়ে যায়?


99

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

আপনার কাজ হ'ল একটি প্রোগ্রাম লিখুন যা মহাবিশ্বের শেষ অবধি বাকি সময়ের চেয়ে প্রত্যাশিত চলমান সময় বেশি রাখবে।

আপনি ধরে নিতে পারেন:

আপনাকে অবশ্যই দেখাতে হবে যে আপনার প্রোগ্রামটি সমাপ্ত হয় (দুঃখিত, কোনও অসীম লুপ নেই) এবং তার প্রত্যাশিত চলমান সময় গণনা করুন।

মান সমস্যা প্রযোজ্য।

এটি একটি কোড গল্ফ চ্যালেঞ্জ, সুতরাং মানদণ্ডকে সন্তুষ্ট করে সংক্ষিপ্ততম কোডটি।

সম্পাদনা :

দুর্ভাগ্যক্রমে, এটি পাওয়া গেল (৩০ মিনিট পরে) যে আনোবটেনিয়ামের অসম্ভব ক্ষেত্রটি কম্পিউটারের অভ্যন্তরীণ ঘড়ির সাথে হস্তক্ষেপ করে, এটি অকেজো করে। তাই সময় ভিত্তিক প্রোগ্রামগুলি তত্ক্ষণাত বন্ধ হয়ে যায়। (এমন একটি প্রোগ্রাম কে ছেড়ে যাবে যা কেবল তার জীবন্ত উত্তরাধিকার হিসাবে অপেক্ষা করবে, যাইহোক?)।

কম্পিউটার প্রসেসরটি ইন্টেল i7-4578U এর অনুরূপ, সুতরাং চলমান সময় পরিমাপ করার একটি উপায় হ'ল আপনার প্রোগ্রামটিকে একটি ছোট ইনপুট (একই সাথে আশা) সহ একই কম্পিউটারে চালানো এবং এটির চলমান সময়কে এক্সট্রোপল্ট করা।


মঁচ

#CharsLanguageUpvotes        Author        
1    5      CJam              20       Dennis                  
2    5      J                      5         algorithmshark      
3    7      GolfScript       30       Peter Taylor          
4    9     Python             39       xnor                      
5    10   Matlab             5         SchighSchagh      

* 31/08 এ উর্ধ্বতনগুলি


40
আমি এই প্রশ্নের জন্য একটি [ধীরতম কোড] ট্যাগ তৈরি করতে প্ররোচিত হয়েছিল। : পি
ডুরকনব

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

49
আপনার শিরোনামটি একটি
টিশার্ট

4
দুর্দান্ত প্রশ্ন, তবে এটি কি জনপ্রিয়তার প্রতিযোগিতা হওয়া উচিত নয়?
IazertyuiopI

উত্তর:


34

সিজেম, 5 বাইট

0{)}h

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

 0   " Push 0.                                 ";
 {   "                                         ";
   ) " Increment the Big Integer on the stack. ";
 }h  " Repeat if the value is non-zero.        ";

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

আমার কম্পিউটারে ডিফল্ট হিপ আকার 4,179,623,936 বাইট (ফেডোরায় জাভা 8)। এটি দিয়ে একটি স্বেচ্ছাসেবী মান বাড়ানো যেতে পারে -Xmx, তাই একমাত্র আসল সীমাটি উপলব্ধ প্রধান মেমরি।

মৃত্যুর সময়

ধরে নিই যে 2 এক্স এর চেয়ে কম অ নেগেটিভ বিগ ইন্টিজার সঞ্চয় করতে দোভাষীকে x বিট মেমরির দরকার আছে , আমাদের 2 8 × 4,179,623,936 = 2 33,436,991,488 অবধি গণনা করতে হবে । ঘড়ি চক্র প্রতি এক বৃদ্ধি এবং আমার কোর i7-3770 (Turbo সঙ্গে 3.9 গিগাহার্জ) সঙ্গে, এই নেবে 2 33,436,991,488 ÷ 3.400.000.000> 10 10,065,537,393 সেকেন্ড, যা শেষ হয়ে গেছে 10 10,065,537,385 বছর।


14
আমি মনে করি না যে আপনি সীমাবদ্ধ সম্পদের উপর নির্ভর করতে পারেন, কারণ প্রশ্নটি "আপনার কম্পিউটারের অসীম স্মৃতি / স্ট্যাক / পুনরাবৃত্তি সীমা রয়েছে" states
গ্রেগ হিউগিল

4
অসীম স্মৃতি !=অসীম ডেটা প্রকার। আমার কাছে যদি একটি টেরাবাইট র্যাম থাকে তবে একটি স্বাক্ষরযুক্ত 8-বিট পূর্ণসংখ্যা এখনও 255-এ চলে যায়
wchargin

6
@ গ্রেগ হিউগিল: সীমাহীন সংস্থান দ্বারা আপনি যেকোন স্বেচ্ছাসেবী মান হিসাবে সর্বোচ্চ জাভা হিপ আকার বাড়াতে পারেন , তবে এটি সর্বদা সসীম হবে।
ডেনিস

2
@ ডেনিস, তবে তারপরে প্রতিটি স্তরের আকার দ্বিগুণ করার জন্য লুপের মাধ্যমে প্রতিবার একটি লাইন যুক্ত করুন। এটি অসম্পূর্ণতা সম্পর্কে একটি মজার বিষয় :-)
কার্ল উইথফোফট

9
@ কার্লউইথথফট: আপনি প্রোগ্রামের ভিতরে থেকে এটি করতে পারবেন না।
ডেনিস

62

জাভাস্ক্রিপ্ট, 39

(function f(x){for(;x!=++x;)f(x+1)})(0)

ব্যাখ্যা

যেহেতু জাভাস্ক্রিপ্ট বৃহত পূর্ণসংখ্যার যথাযথভাবে প্রতিনিধিত্ব করে না, লুপটি for(;x!=++x;)একবার xআঘাত করলে শেষ হয় 9007199254740992

লুপটির মূল অংশটি কার্যকর করা হবে Fib(9007199254740992) - 1, যেখানে Fib(n)নবম ফিবোনাচি সংখ্যা।

পরীক্ষা থেকে, আমি জানি যে আমার কম্পিউটারে প্রতি সেকেন্ডে 150,000 এরও কম पुनरावृत्ती হবে। বাস্তবে, এটি অনেক ধীরে চলবে কারণ স্ট্যাকটি খুব বড় আকার ধারণ করবে।

সুতরাং, প্রোগ্রামটি (Fib(9007199254740992) - 1) / 150000চালাতে কমপক্ষে সেকেন্ড সময় লাগবে । Fib(9007199254740992)এটি এত বড় হওয়ায় আমি গণনা করতে পারিনি , তবে আমি জানি যে এটি 1000 * 150,000 ডলার থেকে অনেক বড় ।

সম্পাদনা: মন্তব্যগুলিতে উল্লিখিত হিসাবে, Fib(9007199254740992)প্রায় 4.4092 * 10 1882393317509686 , যা প্রকৃতপক্ষে যথেষ্ট বড়।


9
যেহেতু fib(n)কাছাকাছি হতে পারে phi^n, আমরা এটির log((sqrt(5) + 1)/2)*9007199254740992সংখ্যা কতগুলি fib(9007199254740992)বেরিয়ে আসে তা গণনা করতে ব্যবহার করতে পারি 1.8823933*10^15
ওভাররেেক্টর

11
@overactor, উল্ফর্যাম আলফা মতে Fib(9007199254740992)(সঙ্গে একটানা ফর্ম ব্যবহার করে phi) প্রায় হয় 4.4092... * 10^1882393317509686গণনা
ব্রায়ান এস

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

1
@ জামেসখুরি না, আপনি যে ফাংশনটি লিখেছেন তা সমান for(x=0;x!=++x;)এবং কেবল পুনরায় 9007199254740992 বার হয়।
পিটার ওলসন

4
@ সিলভেইনলেরাক্স এমন একটি আর্কিটেকচার যা অসীম পরিমাণে র‌্যামের সাথে সম্ভবত সম্ভবত গাদা এবং স্ট্যাকটি ইন্টারলিভ করে এবং উভয়কেই উপরের দিকে বাড়িয়ে তুলবে।
জন ডিভোরাক

47

পাইথন (9)

9**9**1e9

এটিতে 10 ** 10000000 বিটের বেশি রয়েছে, সুতরাং এটির কম্পিউটিং করা আমাদের তাপের অতীতের মৃত্যুর চেয়ে অনেক দূরে নিয়ে যাওয়া উচিত।

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

সম্পাদনা করুন: @ ব্যবহারকারী 2357112 এর জন্য প্যারেন্সকে সরিয়ে দুটি চর গল্ফ করেছেন। টিআইএল যে পাইথন ক্রমাগত এক্সপোজারকে একটি পাওয়ার টাওয়ার হিসাবে গণ্য করে।


4
ওভারফ্লো
এরিয়ার

93
@ আপেল 16 সম্ভবত আপনার কম্পিউটারে রয়েছে তবে আমার একটি "অসীম স্মৃতি / স্ট্যাক / পুনরাবৃত্তি সীমা" রয়েছে।
xnor

64
ঠিক আছে, ছেলেরা। আমি এটি সর্বশেষ মহাবিশ্বকে চালিত করেছি এবং পেয়েছি ...82528057365719799011536835265979955007740933949599830498796942400000000009(২.6 * 10 ^ 954242509 অঙ্কগুলি ব্ল্যাকহোলের পতন এড়ানোর জন্য বাদ দেওয়া হয়েছে )। আপনার সত্যই আনবটানিয়ামে আপগ্রেড করা উচিত।
xnor

10
এক্সপেনটিশনটি ডান-অ্যাসোসিয়েটিভ, যাতে আপনি প্রথম বন্ধনী ফেলে যেতে পারেন।
ব্যবহারকারী 2357112

10
এটি লক্ষণীয় যে 9**9**9e9এটি কেবল সংক্ষিপ্ত এবং গণনা করতে আরও মহাবিশ্বের দৈর্ঘ্য গ্রহণ করবে, পাশাপাশি আরও ভাল লাগবে।
1931 এ অবতারিত

35

গল্ফস্ক্রিপ্ট ( 12 7 টি অক্ষর)

9,{\?}*

এই গণনাগুলি এবং 8 ^ 7 ^ 6 ^ 5 ^ 4 ^ 3 ^ 2 ~ = 10 ^ 10 ^ 10 ^ 10 ^ 10 ^ 183230 মুদ্রণ করে। এটি মুদ্রণ করতে (গণনাটিকে কিছু মনে করবেন না) 10 ^ 1000 বছর ~ = 10 ^ 1007.5 সেকেন্ডে, এটি প্রতি সেকেন্ডে প্রায় 10 ^ (10 ^ 10 ^ 10 ^ 183230 - 10 ^ 3) অঙ্ক মুদ্রণ করা দরকার।


22
তবে এটির আগে এটি "কাগজের বাইরে প্রিন্টার" বার্তাটি দিয়ে
থামবে

1
@ ফ্লোরিস যারা এই দিনগুলিতে শারীরিক মিডিয়া ব্যবহার করে?
জন ডিভোরাক

3
@ জ্যানডভোরাক, আমি কেবল ধরে নিয়েছি যে ফ্লোরিস এবং up জন ব্যক্তি যারা তাকে উন্নীত করেছিলেন তারা আমার দাদুর প্রজন্মের, যখন সমস্ত আউটপুট অবিচ্ছিন্ন ফিড পেপারে ছিল।
পিটার টেলর

2
@PeterTaylor - হয়তো বেশ যে পুরাতন, কিন্তু আমি আছি যথেষ্ট বয়স "ব্যাচ কাজ" জমা প্রত্যাহার করার জন্য "কম্পিউটার" (দিন যখন 20k ছাত্র জনসংখ্যা, যা কম্পিউটারের সঙ্গে আপনি বোঝানো কোন সন্দেহ ছিল, মধ্যে), এবং পরের দিন প্রিন্টআউট সংগ্রহ করা। আপনি (এবং অন্য 7 জন) সঠিকভাবে অনুমান করেছিলেন এটি মজার হাসির চেষ্টা, আপনার দুর্দান্ত এবং হাস্যকর শর্ট স্ক্রিপ্টটির গুরুতর সমালোচনা নয়।
ফ্লোরিস

35

মার্বেলস 68 66 বাইট

}0
--@2
@2/\=0MB
}0@1\/
&0/\>0!!
--
@1
00@0
--/\=0
\\@0&0

মার্বেলাস একটি 8 বিট ভাষা যা কেবলমাত্র রুবে গোল্ডবার্গের মতো মেশিনে মার্বেলগুলির দ্বারা প্রতিনিধিত্ব করা হয়, সুতরাং এটি খুব সহজ ছিল না। এই পদ্ধতিরটি নিম্নলিখিত সিউডো-কোডের সমান equivalent

function recursiveFunction(int i)
{
    for(int j = i*512; j > 0; j--)
    {
        recursiveFunction(i - 1);
    }
}

যেহেতু সর্বাধিক মান 256, (মার্বেলাস প্রোগ্রামে 0 দ্বারা প্রতিনিধিত্ব করা হয়েছে, যা বিভিন্ন স্থানে বিভিন্নভাবে পরিচালিত হয়) রিকার্স ফাংশন (1) এমন এক মোট বলা হবে 256!*512^256যা প্রায় সমান 10^1200, মহাবিশ্বকে বহন করার পক্ষে যথেষ্ট যথেষ্ট।

মার্বেলসের খুব দ্রুত দোভাষী নেই, মনে হয় এটি 10^11প্রতিবছর এই ফাংশনটির কলগুলি সম্পর্কে চালাতে পারে যার অর্থ আমরা বছরের একটি রানটাইম খুঁজছি 10^1189

মার্বেলাস বোর্ডের আরও ব্যাখ্যা

00@0
--/\=0
\\@0&0

00হেক্সাডেসিমাল (তাই 0) এ উপস্থাপন করা একটি ভাষা আক্ষরিক (বা একটি মার্বেল)। এই মার্বেলটি নীচে নেমে আসে --, যা কোনও মার্বেলকে 1 দ্বারা কমানো করে (00 টি মোড়ানো এবং এফএফ বা 255 দশকে পরিণত হয়)। এখন মার্বেলটির সাথে মান এফএফ নীচে নেমে আসে \\যা একে নীচে ডানদিকে একটি কলামকে সরিয়ে দেয় @0। এটি একটি পোর্টাল এবং অন্যান্য @0ডিভাইসে মার্বেলটিকে টেলিপোর্ট করে । সেখানে, /\ডিভাইসে মার্বেল অবতরণ করেছে , যা একটি সদৃশ, এটি মার্বেলের একটি অনুলিপি --তার বাম দিকে রাখে (এই মার্বেলটি পোর্টালগুলির মধ্যে লুপিং বজায় রাখবে এবং প্রতিটি লুপে হ্রাস পাবে) এবং =0তার ডানদিকে একটি।=0মার্বেলকে মান শূন্যের সাথে তুলনা করে এবং মার্বেল পড়ার গর্তকে সমান করে দেয় এবং এটি না হলে ডানদিকে ঠেলে দেয়। যদি মার্বেলটির মান 0 থাকে তবে এটি &0একটি সিঙ্কনাইজার, যার পরে আমি আরও ব্যাখ্যা করব on

সব মিলিয়ে, এটি কেবল 0 লুপের 0 টি মার্বেল দিয়ে শুরু হয় এবং এটি আবার 0 পর্যন্ত পৌঁছা অবধি হ্রাস করে, এটি এই 0 মান মার্বেলটিকে একটি সিঙ্ক্রোনাইজারে রাখে এবং একই সাথে লুপিং চালিয়ে যায়।

}0@1
&0/\>0!!
--
@1

}0প্রোগ্রামটি কল করার সময় প্রাথমিকভাবে নবম (বেস 0) কমান্ড লাইন ইনপুটটি একটি ইনপুট ডিভাইস হয়, যা প্রতিটি }nডিভাইসে রাখে। আপনি যদি এই প্রোগ্রামটি কমান্ড লাইন ইনপুট 2 দিয়ে কল করেন তবে একটি 02 মান মার্বেল এটি প্রতিস্থাপন করবে }0। এই মার্বেলটি তখন &0ডিভাইসে নেমে আসে , অন্য একটি সিঙ্ক্রোনাইজার, &nসিঙ্ক্রোনাইজাররা মার্বেলগুলি ধরে রাখে যতক্ষণ না অন্য সমস্ত সম্পর্কিত ফাইল &nহয়। মার্বেলটি তখন হ'ল হ্রাস পেয়েছে, টেলিফোর্ড হয়েছে এবং পূর্বে বর্ণিত লুপের মতো নকল হয়ে গেছে। ডান অনুলিপিটি পরে শূন্যের সাথে বৈষম্যের জন্য পরীক্ষা করুন ( >0) যদি এটি 0 না হয় তবে এটি পড়ে। যদি এটি 0 হয়, এটি ডানদিকে ঠেলাঠেলি করে এবং এটি অবতরণ করে !!, যা বোর্ডটি সমাপ্ত করে।

ঠিক আছে, এখন পর্যন্ত আমাদের কাছে একটি লুপ রয়েছে যা ধারাবাহিকভাবে 255 থেকে 0 পর্যন্ত নীচে গণনা করা হয় এবং আরেকটি অনুরূপ লুপ (কমান্ড লাইন ইনপুট দ্বারা খাওয়ানো) প্রতিবার আঘাত করলে একবার এটি চালায় 0 যখন এই দ্বিতীয় লুপটি n বার চলেছে (সর্বোচ্চ 256 হচ্ছে) ) প্রোগ্রামটি শেষ হয়। সুতরাং এটি লুপের সর্বোচ্চ 65536 রান। মহাবিশ্বকে ছাপিয়ে যাওয়ার পক্ষে যথেষ্ট নয়।

}0
--@2
@2/\=0MB

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

তাহলে কেন n*512?

ঠিক আছে, প্রথম লুপটি 4 টি টিকিটে চালিত হয় (এবং 256 বার) এবং দ্বিতীয় লুপটি বোর্ড সমাপ্তির আগে এন বার চলে। এর অর্থ বোর্ড প্রায় n*4*256টিক্সের জন্য চালায় । শেষ লুপটি (যা পুনরাবৃত্তির ফাংশন কলিং করে) কমপ্যাক্টর এবং 2 টি টিকে চালিত হয় যার অর্থ এটি ফাংশনটির n*4*256/2 = n*512সময়গুলিতে কল করতে পরিচালিত করে ।

আপনি কোন চিহ্নগুলি উল্লেখ করেন নি?

\/ একটি ট্র্যাশ বিন, যা বোর্ড থেকে মার্বেলগুলি সরিয়ে দেয়, এটি নিশ্চিত করে যে বিচ্ছিন্ন মার্বেলগুলি অন্যান্য মার্বেলগুলিতে কোনও বৃত্তাকার লুপিংয়ের সাথে হস্তক্ষেপ না করে এবং প্রোগ্রামটি শেষ হতে বাধা দেয়।

বোনাস

যেহেতু মার্বেল বোর্ডের নীচে পড়ে মার্বেলগুলি এসটিডিওআউটে আউটপুট পায়, তাই এই প্রোগ্রামটি চলাকালীন ASCII অক্ষরের আধিক্য মুদ্রণ করে।


2
দুর্দান্ত ব্যাখ্যা, ধন্যবাদ!
বিটা ক্ষয়

2
বাহ, এটি একটি উজ্জ্বল ধারণা! মার্বেলাস ভাষা এত মজা!
রুবিক

2
+1 ঠিক যা দেখতে চেয়েছিলাম। ব্রেইনফাকের চেয়ে ক্রেজিয়ার ভাষা :) এখানে কি টিউটোরিয়াল এবং আরও তথ্য সহ কোনও ওয়েবসাইট রয়েছে? (শিরোনাম লিঙ্কটি আপনার উত্তর চেয়ে কম ডক আছে)
সিলেস্টার

2
@ সেলওয়েস্টার, আপনি এটি পছন্দ করেছেন বলে আমি আনন্দিত, মার্বেলস বর্তমানে বিকাশে রয়েছে তবে আমরা নিকট ভবিষ্যতে আরও স্থিতিশীল অবস্থায় এটি প্রত্যাশা করবো, যার বিন্দুতে টিউটোরিয়াল, আরও বিস্তৃত ডকুমেন্টেশন, স্ট্যান্ডার্ড লাইব্রেরি এবং আশা করি কোনও অনলাইন অনুবাদক হবেন অনুসরণ.
ওভাররেেক্টর

21

পার্ল, 66 58 টি অক্ষর

sub A{($m,$n)=@_;$m?A($m-1,$n?A($m,$n-1):1):$n+1;}A(9,9);

উপরেরটি অ্যাকারম্যান-পিটার ফাংশনের একটি বাস্তবায়ন । এ (9,9) কত বড় তা আমার কোনও ধারণা নেই তবে আমি মোটামুটি নিশ্চিত যে এটি মূল্যায়নে আশ্চর্যরকম দীর্ঘ সময় লাগবে।


5
+1 ... আমি অন্তর্নির্মিত অ্যাকারম্যান ফাংশন সহ একটি ভাষা সন্ধান করার চেষ্টা করছিলাম, তবে আমার ধৈর্য্য শেষ হওয়ার আগে তা করতে ব্যর্থ হয়েছি। : ডি
মার্টিন ইন্ডার

3
$n?A($m-1,A($m,$n-1)):A($m-1,1)টার্নারি অপারেটরটিকে ঠেলা দিয়ে একটি 8-চার্চের সহজ সঞ্চয়কে স্বীকার করে।
পিটার টেলর

3
আমি যথেষ্ট নিশ্চিত যে এ (9,9) এ সংখ্যার সংখ্যা কিউবিক প্ল্যাঙ্ক দৈর্ঘ্যে পরিমাপ করা পর্যবেক্ষণযোগ্য মহাবিশ্বের আয়তনের চেয়ে বেশি।
ক্যাস্পারড

6
@ ক্যাস্পার্ড এটি একটি দুর্দান্ত বিশাল সংক্ষিপ্তসার। পর্যবেক্ষণযোগ্য মহাবিশ্বের আয়তন কেবল 10 ^ 184 প্ল্যাঙ্ক ভলিউমের ক্রম অনুসারে। তুলনা করে, এ (4,4) এর অঙ্কের সংখ্যা বর্ণনা করে সংখ্যায় 10 ^ 19700 অঙ্কের মতো কিছু রয়েছে, যা A (9,9) এর সাথে তুলনায় বোধগম্যভাবে ক্ষুদ্র।
ব্যবহারকারী19057

3
@ ব্যবহারকারী19057 এটি ক্যাস্পার্ডের দাবিটিকে "বৃহত্তর সংক্ষিপ্তকরণ" বলা একটি বৃহত্তর সংক্ষেপণ বলে মনে হচ্ছে। : পি
নিকু স্টুর্কা

20

ম্যাটল্যাব, 58 52 টি অক্ষর

আমাদের কমপক্ষে একটি সীমাবদ্ধ-নির্ভুল গণিত সমাধান প্রয়োজন, তাই:

y=ones(1,999);while y*y',y=mod(y+1,primes(7910));end

x = টি (1,999); y = x; অন্য কোনও (y), y = মোড (y + x, প্রাইমস (7910)); শেষ

( cha টি চর ছুঁড়ে দেওয়ার জন্য @ ডেনিসজাহেরউদ্দিনকে ধন্যবাদ জানাই )

সম্পূর্ণ করার জন্য প্রয়োজনীয় চক্রের সংখ্যাটি প্রথম 999 প্রাইমসের পণ্য দ্বারা দেওয়া হয়েছে। যেহেতু এর বিশাল সংখ্যাগরিষ্ঠটি 10 ​​এরও বেশি ভাল, তাই রূপান্তরটি উপলব্ধি করার জন্য প্রয়োজনীয় সময়টি ন্যূনতম সময়সীমার চেয়ে কয়েক শতাধিক মাত্রার অর্ডার হবে।


আপনি সেখানে কী করছেন তা দেখতে +1 আমার জন্য কিছুক্ষণ সময় নিল। নিস!
স্থির পয়েন্ট

+1 সিআরটি, তাই না?
flawr

ভাল লাগছে, আমি মনে করি কিছু অক্ষর যেমন সংরক্ষণ করা যায়: y = বেশী (1,999); যখন y * y ', y = মোড (y + 1, প্রাইমস (7910)); শেষ
ডেনিস জাহেরউদ্দিন

@ ডেনিসজাহেরউদ্দিন: উজ্জ্বল সংক্ষিপ্তকরণ। আমি আপডেট করব।
COTO

যদিও এটি এখন আর একই সমাধান নয়, এটি এখনও যথেষ্ট পরিমাণে একই রকম হওয়া উচিত এবং আরও খানিকটা খাটো হওয়া উচিত:p=1:9e9;y=p;while+y*y',y=mod(y+1,p),end
ডেনিস জাহেরউদ্দিন

19

গণিত, 25 19 বাইট

সময় কার্য অযোগ্য হওয়ার আগে এই সমাধান পোস্ট করা হয়েছিল।

While[TimeUsed[]<10^10^5]

TimeUsed[]সেশন শুরু হওয়ার পর থেকে কয়েক সেকেন্ড ফিরে আসে এবং ম্যাথমেটিকা ​​স্বেচ্ছাসেবী-নির্ভুলতার ধরণগুলি ব্যবহার করে। এক বছরে কিছু 10 7 সেকেন্ড রয়েছে, সুতরাং 10 10000 সেকেন্ড অপেক্ষা করা যথেষ্ট হওয়া উচিত।

খাটো / সরল (/ বৈধ) বিকল্প:

For[i=0,++i<9^9^9,]

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

প্রযুক্তিগতভাবে, উভয় সমাধানে, আমি অনেক কম সীমা ব্যবহার করতে পারি কারণ সমস্যাটি ন্যূনতম প্রসেসরের গতি নির্দিষ্ট করে না।


এটা ভালবাসা! এই উত্তরটি আমাকে আমার মুখে একটি বড় হাসি দিয়ে উচ্চস্বরে হেসে ফেলেছে।
টড লেহম্যান

1
দুঃখিত, সৃজনশীলতার জন্য, আমাকে সময় ভিত্তিক সমাধানগুলি কাটাতে হয়েছিল (আপনার প্রথমটির মতো)। আমাকে ঘৃণা করবেন না দয়া করে। :)
কেবি_সৌ

5
@ কেবিএসউ ওয়েল, আমি আমার অন্য জনের সাথে এটি পিটিয়েছি, তাই আমি সত্যিই চিন্তা করি না। তবে অন্যথায় নিয়ম পরিবর্তনের জন্য উত্তরকে পূর্ববর্তী স্থানে অযোগ্য ঘোষণা করা দুর্দান্ত নয়। ;)
মার্টিন এন্ডার

1
ম্যাথামেটিকা ​​কি আসলেই এত ধীর, যে কম্পিউটারে কয়েক বছরেরও 9^9^9বেশি সময় লাগে 10^1000? আমি অনুমান করি যে 9^9^9আমার 1.3GHz U7300 ব্যবহার করে কম্পিউটিং bcকরতে 6 মাসেরও কম সময় লাগবে। (গণনা করার সময় এক্সট্রাপোলেটিংয়ের উপর ভিত্তি করে 9^200000এবং 9^400000))
ক্যাস্পারড ২

2
@ আর্টঅফকোড ম্যাথমেটিকা ​​স্বেচ্ছাচারিতা-নির্ভুলতা প্রকারগুলি ব্যবহার করে তাই এটি আসলে সঠিক মান নির্ধারণ করার চেষ্টা করবে।
মার্টিন ইন্ডার

16

পাইথন 3 - 49

এটি দরকারী কিছু করে: গ্রেগরি-লিবনিজ অসীম সিরিজ ব্যবহার করে অভূতপূর্ব নির্ভুলতার জন্য পাই গণনা করে।

আপনি যদি ভাবছিলেন তখনই এই প্রোগ্রামটি 10**10**10**2.004302604952323কয়েকবার লুপ করবে ।

sum([4/(i*2+1)*-1**i for i in range(1e99**1e99)])

নির্বিচারে নির্ভুলতা: 78

from decimal import*
sum([Decimal(4/(i*2+1)*-1**i)for i in range(1e99**1e99)])

চিত্র উত্স

টার্মিনাল শ্বাস

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

নবজন্ম

এখন, বিজ্ঞানীরা প্রস্তাব দিয়েছেন যে 10**10**56 years, কোয়ান্টাম ওঠানামা বা টানেলিংয়ের কারণে মহাবিশ্ব পুনর্বার জন্ম দেবে। সুতরাং প্রতিটি মহাবিশ্ব যদি ঠিক একই হয় তবে আমার প্রোগ্রামটি কতটি মহাবিশ্বের মধ্য দিয়ে চলবে?

(1e99**1e99)/(1e10+1e1000+10**10**56)=1e9701

ধরে নিই যে মহাবিশ্বটি সর্বদা 1e10+1e1000বছরের পর বছর বাস করবে এবং তারপরে 10**10**56'রিবুট' করতে কয়েক বছর সময় নেবে , আমার প্রোগ্রামটি 1e9701মহাবিশ্বের মাধ্যমে বাস করবে । এটি অবশ্যই ধরে নেওয়া হচ্ছে যে অবিবেশনিয়াম বিগ ব্যাংয়ের মাধ্যমে বেঁচে থাকতে পারে।


3
এটি একবার ফিলিপ-এর পরিসীমা শেষে পৌঁছে যায়। হ্যাঁ, শেষ পর্যন্ত।
মালাচি

1
1000**1000হয় 1e3000, না 1e2000
কর্নস্টাল্ক

1
@ কর্নস্টালক্স ধন্যবাদ, আমার কাছে এমন ক্যালকুলেটর নেই যে এটি খুঁজে পাওয়ার মতো যথেষ্ট ছিল না তাই আমি এই সত্যটির উপর ভিত্তি করে একটি অনুমান করেছি 100**100=1E200
বিটা ক্ষয়

1
@ বেটাডে: আমি একটি অনলাইন ক্যালকুলেটর হিসাবে উলফ্রাম | আলফাকে পরামর্শ দিতে পারি । আপনি যদি এটি কখনও ব্যবহার না করে থাকেন তবে এটি দুর্দান্ত!
কর্নস্টালক

2
@ অনায়োনেট্রেটেড বা 1000 ^ 1000 = (10 10 3) ^ 1000 = (10 * 10 * 10) * (10 * 10 * 10) * ... * (10 * 10 * 10) [1000 বার] = 10 ^ 3000
IazertyuiopI

12

পাইথন 59 (বেশিরভাগ সময় কাজ করে)

আমি প্রতিহত করতে পারি না

from random import*
while sum(random()for i in range(99)):0

যদিও এটি সত্য যে এটি তাত্ত্বিকভাবে এক মিলি সেকেন্ডের মধ্যে শেষ করতে পারে, গড় রানটাইমটি 10^400মহাবিশ্বের নির্দিষ্ট জীবদ্দশার চেয়ে অনেক ভাল । @ বেটাডেকে, @underlandmonorail, এবং @ ড্যাবরোসকে 17 অক্ষর বা তার বেশি অক্ষর দেওয়ার জন্য ধন্যবাদ


এটি 71 এ নামতে আপনি এর continueসাথে প্রতিস্থাপন করতে পারেনpass
বিটা

@ বেটাডেকে ভাল লাগছে
কেএসব

3
আমি মনে করি যেহেতু প্রশ্নটি প্রত্যাশিত চলমান সময়ের জন্য জিজ্ঞাসা করে , এটি কোনও সমস্যা নয় যা এটি প্রথম দিকে শেষ হতে পারে। বৃহত্তর সমস্যাটি হ'ল এটি একেবারে সমাপ্ত করার পক্ষে প্রমাণিত হতে পারে না।
ব্যবহারকারী19057

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

1
আমি মনে করি আপনি '0' দিয়ে 'পাস' প্রতিস্থাপন করে 3 টি অক্ষর কেটে ফেলতে পারেন।
daboross

8

জে - 5 অক্ষর, আমি মনে করি

নোট করুন যে নীচের সমস্তগুলি নির্বিচারে নির্ভুলতা গাণিতিক মধ্যে রয়েছে, কারণ 9 নম্বর সর্বদা এর xপাশে কিছুটা থাকে।

ইন সাত অক্ষর, আমরা আছে !^:!!9x, চলমান মত ধরণ যা

n = 9!
for i in range(n!):
    n = n!

নির্বিচারে নির্ভুলতা গণিত মধ্যে। এটি অবশ্যই সীমা ছাড়িয়ে গেছে কারণ সিনথেটিকা ​​তাই বলেছে , তাই আমাদের একটি উচ্চতর আবদ্ধ আছে।

ইন ছয় অক্ষর, আমরা লিখতে পারি ^/i.9x, যা প্রতিটি মাধ্যমিক ফলাফলের হিসাব 0 ^ 1 ^ 2 ^ 3 ^ 4 ^ 5 ^ 6 ^ 7 ^ 8। ওল্ফ্রাম | আলফা বলেছেন 2^3^4^5^6^7^8আনুমানিক 10 ^ 10 ^ 10 ^ 10 ^ 10 ^ 10 ^ 6.65185, যা সম্ভবত পরিদর্শনও সাফ করে দেয়।

আমাদের পাঁচটি চরও রয়েছে !!!9x, যা কেবল ((9!))! ডাব্লু এ এ বলেছেন যে এটি 10 ^ 10 ^ 10 ^ 6.2695এখনও যথেষ্ট বড় হওয়া উচিত ... এটি মহাবিশ্বে ন্যানোসেকেন্ডের সংখ্যার 1.6097e1859933চেয়ে যথাক্রমে বৃহত্তর ডিজিটের অঙ্কের মতো 3.154e1016, তবে আমি স্বীকার করব যে কেউ কীভাবে বের করতে পারে তার আমার ধারণা নেই এই জিনিসগুলির আসল রানটাইম।

একা মুদ্রণটি মহাবিশ্বের তুলনায় দীর্ঘ দীর্ঘ সময় নিতে পারে, তবে এটি ঠিক হওয়া উচিত।


7

সি, 63 56 টি চর

f(x,y){return x?f(x-1,y?f(x,y-1):1):y+1;}main(){f(9,9);}

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

এটি সমাপ্ত হয় তা প্রমাণের মাধ্যমে সম্পন্ন হয়।

  • X যদি 0 হয় তবে তা অবিলম্বে সমাপ্ত হবে।
  • যদি এটি x-1 এবং যে কোনও y এর জন্য বন্ধ হয় তবে এটি এক্স এর জন্যও সমাপ্ত হয়, এটি নিজেই অন্তর্ভুক্তি দ্বারা প্রদর্শিত হতে পারে।

আনয়ন দ্বারা পদক্ষেপ পদক্ষেপ প্রমাণ করে:

  • যদি y 0 হয় তবে এক্স -1 এর সাথে কেবল একটি পুনরাবৃত্ত কল রয়েছে যা অন্তর্ভুক্তি অনুমান দ্বারা শেষ হয়।
  • যদি f (x, y-1) সমাপ্ত হয় তবে f (x, y) এছাড়াও সমাপ্ত হয় কারণ চ এর অন্তঃতম কলটি ঠিক f (x, y-1) হয় এবং বহিরাগততম কলটি ইন্ডাকশন হিপথিসিস অনুসারে সমাপ্ত হয়।

প্রত্যাশিত চলমান সময়টি A (9,9) / 11837 সেকেন্ড। এই সংখ্যাটি পর্যবেক্ষণযোগ্য মহাবিশ্বের কোয়ার্কের সংখ্যার চেয়ে বেশি সংখ্যা রয়েছে।


(আব) প্রিপ্রসেসর ব্যবহার করুন এবং এম = মেইন, আর = রিটার্ন এবং জেড = 99999 সংজ্ঞায়িত করুন, তারপরে আপনার প্রোগ্রামটি আবার লিখুন, f (x, y) {rx? F (x-1, y? F (x, y- 1): 1): y + 1;} m () {f (z, z);} যা আশ্চর্যজনকভাবে দীর্ঘ সময় নিতে পারে :-)
চককট্রিল

5
@ চককট্রিল যদি নিয়মগুলি এমন প্রোগ্রামগুলিকে অনুমতি দেয় যা নির্দিষ্ট প্রিপ্রোসেসর ম্যাক্রোগুলির প্রয়োজন হয় এবং সেগুলি প্রোগ্রামের দৈর্ঘ্যের দিকে গণনা না করে, তবে যে কোনও কাজই একটি চরিত্রে সমাধান করা যেতে পারে।
ক্যাস্পারড

6

মতলব ( 10 8 টি চর)

1:9e1016

আইএমএইচও, বেশিরভাগ এন্ট্রি বড়, জটিল জিনিসগুলি গণনা করে খুব চেষ্টা করছে। এই কোডটি কেবল 1 থেকে শুরু করে 9x10 1016 double s এর অ্যারে শুরু করবে , যা 7.2x10 ^ 1017 বাইট নেয় । সর্বাধিক মেমরি ব্যান্ডউইডথ একটি আধুনিক CPU তে 21 গিগাবাইট / সেকেন্ড বা 6.63x10 ^ 17 বাইট / বছর , এটা লাগবে অন্তত 1.09x10 1000 বছর এমনকি অ্যারের আরম্ভ করতে, ঘাঁটান প্রিন্ট করতে যেহেতু আমি বিরক্ত করা হয়নি চেষ্টা একটি আড়াল করা সেমিকোলন দিয়ে আউটপুট দমন। (;


পুরানো সমাধান (গুলি)

nan(3e508)

বিকল্পভাবে

inf(3e508)

এই কোডটি কেবলমাত্র x 8-বাইট ডাবল বা বাইট NaNআকারের স্ক / ইনফিনিটিসের বর্গ ম্যাট্রিক্স তৈরি করবে ।3e5083e508 = 9e10167.2e1017


1
ওটা কী? 1016? এটি অবশ্যই 9999 হতে হবে! (বা আমি কিছু ভুল বুঝেছি?)
মেগা ম্যান

@ মেগামন সমস্যা প্রম্পটটি 10 ​​^ 1000 বছরের রানটাইম নিম্নের জন্য জিজ্ঞাসা করে। এই হচ্ছে গলফ, আমি অযথা হতে হবে এবং গনা করতে চান না খুব অনেক তারও বেশি সময় নেই, তাই আমি এটা যত তাড়াতাড়ি সম্ভব থ্রেশহোল্ড পৌঁছনোর পর বন্ধ করতে পেতে চেষ্টা করে। :)
নিকু স্টিড়কা

আহ, ঠিক আছে, এই নিয়মটি জানতেন না
মেগা ম্যান

5

পার্ল, 16 টি অক্ষর

/$_^/for'.*'x1e9

এটি "। *" এক বিলিয়ন বার পুনরাবৃত্তি করে একটি স্ট্রিং তৈরি করে, তারপরে এটি একটি রেজেক্স ম্যাচে সুই এবং খড়ের দুটো হিসাবে ব্যবহার করে। ফলস্বরূপ, রেজেক্স ইঞ্জিনটি দুই বিলিয়ন অক্ষর দীর্ঘ দৈর্ঘ্যের একটি স্ট্রিংয়ের প্রতিটি সম্ভাব্য বিভাজনের চেষ্টা করে। উইকিপিডিয়া থেকে এই সূত্র অনুসারে , প্রায় 1035218 পার্টিশন রয়েছে।

উপরের সমাধানটি 16 অক্ষর দীর্ঘ, তবে কেবল প্রায় 2 জিবি মেমরির প্রয়োজন, যার অর্থ এটি আসল কম্পিউটারে চালানো যেতে পারে। যদি আমরা অসীম মেমরি এবং সসীম নিবন্ধের আকার ধরে রাখি (যা সম্ভবত কোনও অর্থ হয় না), রানটাইম নাটকীয়ভাবে বাড়ানোর সময় এটি 15 টি অক্ষরে ছোট করা যেতে পারে:

/$_^/for'.*'x~0

(আমি এটি পরীক্ষা করেছি না, তবে আমি মনে করি এটি কমপক্ষে 6 জিবি র‌্যামের একটি 64-বিট মেশিনে নির্মিত 32-বিট পার্ল দিয়ে কাজ করতে পারে))

নোট:

  • x স্ট্রিং রিপিট অপারেটর।
  • forপ্রকৃত লুপ নয়; এটি কেবলমাত্র একটি অক্ষর সংরক্ষণ করার জন্য ব্যবহৃত হয় (তুলনায় $_=".*"x1e9;/$_^/)।
  • ^রেগেক্সের ফাইনালটি নিশ্চিত করে যে কেবল খালি স্ট্রিং মেলতে পারে; যেহেতু রেজেক্স কোয়ানটিফায়ারগুলি ডিফল্টরূপে লোভী, তাই ইঞ্জিন এটি চেষ্টা করবে এটিই শেষ জিনিস।
  • মানগুলির জন্য আমার কম্পিউটারের মানদণ্ডগুলি (১.১৩) বোঝায় যে চলমান সময়টি আসলে ও (এক্সপ্রেস (এন)) হয়, যা উইকিপিডিয়া সূত্রে ও (এক্সপ্রেস (স্কয়ার্ট (এন)) এর চেয়েও বেশি।

4

জে (12)

(!^:(!!9))9x

পাইথনে এটি কী নেমে আসে (ধরে নিলে !কাজগুলি):

a = 9 
for i in range((9!)!):
    a = a!

সম্পাদনা করুন:

ঠিক আছে, প্রোগ্রামটি 2 × 10^-1858926চক্র প্রতি সর্বাধিক সেকেন্ড সময় নিতে পারে প্রয়োজনীয় সময়ের মধ্যেই শেষ করতে। টিপ: এটি এমনকি প্রথম চক্রের জন্যও কাজ করবে না, শেষটিকে কখনই মনে করবেন না;)।

এছাড়াও: মহাবিশ্বে এনট্রাপি থাকার চেয়ে এই প্রোগ্রামটির আরও মেমরির প্রয়োজন হতে পারে ...


3
"মহাবিশ্বে xrange()
এনট্রাপি

1
এছাড়াও, !পাইথনে কাজ করে না। আপনার দরকার import mathএবং math.factorial()
ডেভিউলেস

4

সি # 217

আমি খুব গল্ফার নই, তবে আমি অ্যাকারম্যানের কাজটি প্রতিহত করতে পারিনি । রানটাইম কীভাবে গণনা করা যায় তা আমি সত্যিই জানি না তবে এটি অবশ্যই থামবে এবং এটি অবশ্যই এই সংস্করণটির চেয়ে বেশি সময় চলবে ।

class P{
static void Main(){for(int i=0;i<100;i++){for(int j=0;j<100;j++){Console.WriteLine(ack(i,j));}}}
static int ack(int m,int n){if (m==0) return n+1;if (n ==0) return ack(m-1,1);return ack(m-1,ack(m,n-1));}
}

আপনি 10 টি বাইট সংরক্ষণ করতে পারেন যেমন ackফাংশনটির নাম পরিবর্তন করে একটি একক-অক্ষর নাম রেখে a
পিপ্পারি

4

কোড গল্ফ এ প্রথম প্রচেষ্টা কিন্তু এখানে যায়।

ভিবিএ - 57 45

x=0
do
if rnd()*rnd()<>0 then x=0
x=x+1
while 1=1

সুতরাং এক্স 2 এর 1 event 128 ইভেন্টটি ঘটে এবং যদি এটি না ঘটে তবে পুনরায় সেট করা হবে will এই ইভেন্টটি পরপর 2 ^ 64 + 1 বার ঘটলে কোডটি শেষ হয়। আমি কীভাবে সময় গণনা শুরু করব তা জানি না তবে আমি অনুমান করছি এটি খুব বিশাল।

সম্পাদনা: আমি গণিতটি বের করেছিলাম এবং প্রতিটি লুপে এটি হওয়ার সম্ভাবনা 2 2 ^ 128 ^ (1 + 2 ^ 64) এর মধ্যে প্রায় 20000 অঙ্ক দীর্ঘ। 1000000 লুপ / ​​সেকেন্ড (পাতলা বায়ু সংখ্যার ব্যালপার্ক) এবং 30000000 এস / ইয়ার ধরে নিলে প্রতি বছরে 10 * 1000 বছর বাকি 3 * 10 ^ 13 চক্র 3 * 10 ^ 1013 চক্র রয়েছে, সুতরাং এটি সম্ভবত প্রায় 20 গুণ স্থায়ী হবে মহাবিশ্বের বাকি সময়। আমি আনন্দিত যে আমার গণিত আমার অন্তর্দৃষ্টিটি সমর্থন করে।


আমি মনে করি যে শেষ লাইনটি ঠিক হওয়া উচিত While x=1? (অন্যথায় এটি একটি অসীম লুপ)। এছাড়াও, আপনি 12 টি চর শেভ করতে পারেন যদি আপনি বিকল্পটি Dim x As Doubleদিয়ে থাকেন x=0( Option Explicit
ভিবিএ

এক্স অনন্ত প্রবাহিত হওয়ার পরে এটি শেষ হওয়ার সাথে সাথে আমি এটি অসীম লুপ হিসাবে দেখছি না eventually
মাইলস হর্নে

এটি অবশ্যই x = 1 এর সাথে কাজ করবে না কারণ এটি সাধারণত লুপটি চালানো থেকে আটকাতে পারে।
মাইলস হর্নে

এইভাবে লুপটি ভাঙ্গলে যদি "অনন্ত লুপগুলি না থাকে" মানদণ্ডটি পূরণ না করে তবে WHILE 1 = 1 WHILE ISNUMERIC (X) এ পরিবর্তিত হতে পারে।
মাইলস হর্ন

4

সি, 30 টি অক্ষর

main(i){++i&&main(i)+main(i);}

দু'জনের প্রশংসা স্বাক্ষরিত ওভারফ্লো এবং 32-বিট ইনটগুলি ধরে নিলে এটি প্রায় 2 2 32 ফাংশন কলগুলির জন্য চলবে , যা মহাবিশ্বের শেষ হওয়ার জন্য প্রচুর সময় হওয়া উচিত।


যদিও আপনি এর অনেক আগেই স্ট্যাকের বাইরে চলে যাবেন।
স্পার

1
@ স্পার নিয়মগুলির মধ্যে একটি হ'ল অসীম স্ট্যাক এবং গাদা আকার অনুমান করা।
স্ক্রাগার

3

গল্ফস্ক্রিপ্ট, 13 টি অক্ষর

0{).`,9.?<}do

এই প্রোগ্রামটি কেবল 0 থেকে 10 9 9 −1 = 10 387420488 পর্যন্ত গণনা করেছে । ধরে নিই, আশাবাদীভাবে, কম্পিউটারটি 100 গিগাহার্টজ গতিতে চালিত হয় এবং প্রোগ্রামটির প্রতিটি পুনরাবৃত্তি একটি একক চক্রের মধ্যে চালিত করতে পারে, প্রোগ্রামটি 10 9 9 −12 সেকেন্ড বা প্রায় 3 × 10 9 9 −20 = 3 × 10 387420469 পর্যন্ত চলবে বছর।

প্রোগ্রাম পরীক্ষা করার জন্য, আপনাকে প্রতিস্থাপন করতে পারেন 9একটি সঙ্গে 2, যা 10 থামবে করতে হবে 2 2 -1 = 10 3 = 1000. (ব্যবহার করা একটি 3একটি পরিবর্তে 210 থামবে করতে হবে 3 3 -1 = 10 26 , যা এমনকি উপরের আশাবাদী অনুমানগুলি সহ, এটি কমপক্ষে কয়েক মিলিয়ন বছর ধরে পৌঁছবে না))



3

হাস্কেল, 23

main=interact$take$2^30

এই প্রোগ্রামটি থেকে 1073741824 টি অক্ষর পড়ার পরে সমাপ্ত হয় stdin। যদি এটিতে কোনও ডেটা পাইপ না করে চালানো হয় stdin, আপনাকে আপনার কীবোর্ডে এই সংখ্যাটি অক্ষর টাইপ করতে হবে। ধরে নিই যে আপনার কীবোর্ডে ১০৫ টি কী রয়েছে, প্রতিটি ১০০ কে মেকানিকাল চক্রের জন্য রেট করা হয়েছে এবং অ-মৃত কীস্ট্রোক উত্পন্ন করার জন্য প্রোগ্রাম করা হয়েছে, অটোরেপিট বন্ধ রয়েছে, এবং আপনার কীবোর্ড সকেটটি 100 সংযোগ চক্রের অনুমতি দেয়, এটি কম্পিউটারে আপ-টাইম 1050000000 সর্বাধিক সংখ্যক কীস্ট্রোক দেয়, যা প্রোগ্রামটি শেষ করার জন্য পর্যাপ্ত নয়।

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


আপনি যেতে যেতে কী-বোর্ডগুলি হট-অদলবদলে করতে পারেন?
টমাস

এটি কীবোর্ড সকেটের 100 সংযোগ চক্র দ্বারা আচ্ছাদিত।
TheSpनिशInquifications

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

1
আমি এখনও বিশ্বাস করি না। আপনি যদি প্রোগ্রামটি দূরবর্তীভাবে চালিত করেন (বা কোনও ভিএম তে), তবে আপনি কোনও একক কম্পিউটারের হার্ডওয়্যার ক্ষমতা দ্বারা সীমাবদ্ধ নন এবং 1 বিলিয়ন স্ট্রোক সত্যিই তেমন কিছু নয়। এছাড়াও, সমস্যাটি বলে যে কম্পিউটারটি অবিবেশনিয়াম দিয়ে তৈরি, এবং তাই কীবোর্ডটিও হওয়া উচিত, সুতরাং এটি 2 ^ 30 কীস্ট্রোক হ্যান্ডেল করতে পারে ...
টমাস

3

~ এটিএইচ, 56

ইন কাল্পনিক ভাষা ~ ATH :

import universe U;
~ATH(U) {
} EXECUTE(NULL);
THIS.DIE()

~ এটিএইচ একটি কাজ করার জন্য অপ্রয়োজনীয় ভাষা। এর যুক্তি অসীম লুপগুলি বা সর্বোত্তমভাবে কার্যকরভাবে অন্তর্বর্তী নির্মাণের লুপগুলি নিয়ে গঠিত।

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

আমি সীমান্তের লুফোল লঙ্ঘনের জন্য ক্ষমা চাইছি; আমি ভেবেছিলাম এটি পাস করার পক্ষে খুব প্রাসঙ্গিক।

যদি কেউ এর দ্বারা প্রকৃতপক্ষে বিস্মিত হয় তবে আরও বিশদ: (1) , (2) , (3) , (4)


2

রুবি (34)

([0]*9).permutation.each{print}9 টির জন্য লাইনটি প্রায় 2.47 সেকেন্ড সময় নেয়! আমার মেশিনে প্রিন্ট করে, যখন লাইনটি ([0]*10).permutation.each{print}10 এর জন্য প্রায় 24.7 সেকেন্ড সময় নেয়! প্রিন্টস, সুতরাং আমি অনুমান করি যে আমি এখানে এক্সট্রোপোলেট করতে এবং গণনা করতে পারি (24.7/10!)*470! seconds in yearsযা 6.87 * 10 ^ 1040, যা রান সময় হতে হবে:

([0]*470).permutation.each{print}

2

জাভাস্ক্রিপ্ট 68 62 অক্ষর

(function a(m,n){return m==0?n+1:a(m-1,n==0?1:a(m,n-1))})(5,1)

এটি অ্যাকারম্যান-ফাংশন ব্যবহার করে যা হিসাবে লেখা যেতে পারে

function ackermann(a, b) {
  if (a == 0) return b + 1;
  if (b == 0) return ackermann(a-1, 1);
  else return ackermann(a-1, ackermann(a, b-1));
}

এটির রানটাইম সময় তাত্পর্যপূর্ণভাবে বেড়ে যায় এবং তাই গণনা করতে খুব বেশি সময় নেয়। যদিও এটি এখানে ইংরেজি না হলেও আপনি এর রিটার্ন মানগুলির একটি সংক্ষিপ্তসার পেতে পারেন। টেবিলের ackermann(5,1)সমান অনুসারে 2↑↑(65533)-3যা হয় তা আপনি জানেন, খুব বড়।


2
এটি পূর্ববর্তী পার্ল একারম্যান ফাংশন বাস্তবায়নের মতো একই রকম কয়েকটি আশাবাদ থেকে উপকৃত হতে পারে।
পিটার টেলর

আমি অবশ্যই পার্ল সমাধানটি উপেক্ষা করেছি। যে ইশারা জন্য ধন্যবাদ।
হেনজে

পরিবর্তে n==0?X:Y, আপনি সর্বদা করতে পারেনn?Y:X
Cyoce

2

বেফঞ্জ '93 - 40 বাইট

(20x2 প্রোগ্রাম)

v<<<<<<<<<<<<<<<<<<<
>??????????????????@

এই প্রোগ্রামটি বিলম্ব করতে এলোমেলো সংখ্যার উপর নির্ভর করে। যেহেতু বেফুঞ্জ ইন্টারপ্রেটাররা বেশ ধীর, তাই এই প্রোগ্রামটি বিলের সাথে মাপসই করা উচিত। এবং যদি এটি না হয় তবে আমরা সর্বদা এটি অনুভূমিকভাবে প্রসারিত করতে পারি। আমি এই প্রোগ্রামের প্রত্যাশিত চলমান সময় গণনা সম্পর্কে কীভাবে নিশ্চিত নই, তবে আমি জানি যে এটি প্রতিটি? হয় 50 দিয়ে শুরু করার বা এর অনুভূমিক অবস্থানটি 1 দ্বারা পরিবর্তন করার সম্ভাবনা রয়েছে 18? আছে? আমি মনে করি এটির (18 ^ 2) লাইন ধরে কিছু হওয়া উচিত! গুগল ক্যালকুলেটর বলে যে "ইনফিনিটি"

সম্পাদনা: ওফস আমি অন্য বেফুংয়ের উত্তরটি লক্ষ্য করি নি, এটি এখানে আমার প্রথম পোস্ট। দুঃখিত।


আরে, অন্যান্য বেফুঞ্জ উত্তর সম্পর্কে, বা, বা সাধারণভাবে, অন্য কারও মতো একই ভাষা ব্যবহার করবেন না don't আমি বোঝাতে চাইছি, কেউই ম্যাথলবকে মারতে যাচ্ছে না, সুতরাং অন্যান্য সমস্ত জমাটি মজাদার। আমার ছিল।
AndoDaan

2

এপিএল, 10

আমি মনে করি না এটি একটি বৈধ উত্তর (যেমন এটি অ-নিরস্ত্রীক) তবে যাইহোক ......

{?⍨1e9}⍣≡1

এই প্রোগ্রামটি 1e9 সংখ্যার ( ?⍨1e9) এর এলোমেলো অনুক্রমের গণনা করে এবং পরপর দুটি আউটপুট সমান না হওয়া পর্যন্ত পুনরাবৃত্তি করে ( ⍣≡)

সুতরাং, যতবারই আদেশ ছাড়াই গণনা করা হয়, এটির 1000000000 তে 1 রয়েছে! সমাপ্তির সম্ভাবনা এবং 1000000000! কমপক্ষে 10 10 8 হয়

কোনও ক্রম গণনা করতে যে সময় লাগে এটি 1000000000 এর বিশালতার দ্বারা অপ্রাসঙ্গিক হয়ে যায়! তবে কিছু পরীক্ষার মাধ্যমে এটি হয় O(n)এবং এক্সট্রাপোলেটিং প্রায় 30 সেকেন্ড দেয়।

তবে কি আমার অনুবাদক রেণ্ডম ফাংশন 2 অধিক মাপের ইনপুট গ্রহণ করতে রাজি 31 -1 (তাই আমি 1e9 ব্যবহৃত), এবং 1000000000 সংখ্যার উৎপাদিত একাধিক বিন্যাসন একটি কর্মক্ষেত্র পূর্ণ ত্রুটি দিলেন। যাইহোক, ধারণাগুলি এটি অসীম স্মৃতি সহ একটি আদর্শ এপিএল দোভাষী দিয়ে করা যেতে পারে।

এটি আমাদের 64-বিট আর্কিটেকচার ধরে ধরে চলমান সময়কে কমপক্ষে 10 10 20 অবধি চালানোর জন্য 1e9 এর জায়গায় 2 63 -1 ব্যবহার করার সম্ভাবনা নিয়ে যায় ।

তবে অপেক্ষা করুন, কোনও স্থাপত্যশৈলী কোনও আদর্শ দোভাষীের সাথে কি প্রাসঙ্গিক? হ্যালো না তাই আসলে চলমান সময় উপরের কোন আবদ্ধ নেই!


2

আর, 45 বাইট

(f=function(x)if(x)f(x-1)+f(x-1)else 0)(9999)

এটি একটি পুরানো থ্রেড তবে আমি কোনও আর উত্তর দেখতে পাচ্ছি না, এবং আমরা তা পাচ্ছি না!

X যখন 20 বছর ছিল তখন আমার জন্য রানটাইমটি প্রায় 1 সেকেন্ড ছিল, যা 2 ^ 9979 সেকেন্ডের রানটাইম প্রস্তাব করে।

আপনি যদি শূন্যটিকে একটি দিয়ে প্রতিস্থাপন করেন তবে আউটপুটটি 2 ^ x হবে তবে এটি আউটপুটটি শূন্য যা এক্স তা ছিল (ওভারফ্লো সমস্যা এড়ানো)।


1

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

a=[0];while(a.length<1e4)(function(){var b=0;while(b<a.length){a[b]=(a[b]+1)%9;if(a[b])return;b++}a.push(1)})();alert(a)

ন্যূনতম স্মৃতি দিয়ে করা যেতে পারে (সম্ভবত অর্ধেক মেগাবাইটের চেয়ে কম) তবে এটি থামাতে প্রায় 8,750 বছর সময় নেয় (সম্ভবত) ।

বারবার একটি স্বল্প-endian বেস -9 BigInteger বৃদ্ধি না হওয়া পর্যন্ত 9 ছুঁয়েছে 10 4 -1


1

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

from random import*
r=randint
f=lambda n:2if n<2else f(n-1)
x=9E999
s=x**x
for i in range(f(x)**f(s)):
 while exec(("r(0,f(x**i))+"*int(f(x)))+"r(0,f(x**i))")!=0:
  s=f(x**s)
  print(s)

প্রথমত, এফ একটি পুনরাবৃত্ত ফ্যাক্টরিয়াল ফাংশন এবং অতি ধীর। তারপরে, এখানে নিজের সাথে 9 * 10⁹⁹⁹ চালিত রয়েছে, যা একটি ওভারফ্লোআররার তৈরি করে, তবে এই ইউনোবটানিয়াম কম্পিউটারে এটি ঘটে না। লুপটি 9E999 এর পুনরাবৃত্তি করে! ! (9E999 ^ 9E999)! সময়গুলি এবং এটি কেবলমাত্র পরবর্তী পুনরাবৃত্তিতে যায় যদি 9E999! 0 এবং 9E99 * between i এর মধ্যে র‌্যান্ডম ইনসটি! সমস্ত 0 এবং প্রতিটি পুনরাবৃত্তির মধ্যে যখন লুপ গুলি সেট হয়ে যায় (9E999 ^ s) !. ওহ, আমি ভুলে গিয়েছিলাম যে এর মুদ্রণটি মুউইউচ্চচ্চ সময় নেয় ...
আমি জানি এটি স্বল্পতম একাকীকরণ নয়, তবে আমি মনে করি এটি সত্যিই কার্যকর। কেউ কি আমাকে চলমান সময় গণনা করতে সহায়তা করতে পারে?


1

ট্যুরিং মেশিন তবে ওয়ে সবচেয়ে খারাপ , 167 বাইট

0 0 1 1 2 0 0
1 0 1 0 4 0 0
0 1 1 1 2 0 0
1 1 1 1 5 0 0
0 2 1 0 3 0 0
1 2 0 1 1 0 0
0 3 1 1 4 0 0
1 3 0 0 2 0 0
0 4 1 0 0 0 0
1 4 0 1 3 0 0
0 5 1 0 6 0 1
1 5 1 1 2 0 0

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

উইকিপিডিয়া পৃষ্ঠা থেকে 6-রাষ্ট্রের 2-প্রতীক ব্যসি বিভার চালানো উচিত ।

7.412×1036534

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