Befunge-98 (PyFunge), 120 बाइट्स
cf*10p'<20p11>00p1+:30p:::*+39**6+:30g39**c-00g*10gv
>:2*1-*00g*a*^
^:p02*g02p01*a*-*g02\+g01*g00-2*5g03,+*86:/*5g02+*5<
इसे ऑनलाइन आज़माएं!
यह समयबद्धता के संदर्भ में सीमा रेखा है। 10,000 अंक मेरे लैपटॉप पर लगभग 11 सेकंड लगते हैं, लेकिन मुझे यकीन है कि एक "उचित" पीसी होना चाहिए जो इसे तेजी से कर सकता है।
हालाँकि, यदि आप इसे TIO पर आज़मा रहे हैं, तो ध्यान दें कि यह 60 सेकंड की समय सीमा को हिट करने तक कुछ भी वापस नहीं करेगा, क्योंकि एल्गोरिदम को हमेशा के लिए चलते रहने के लिए डिज़ाइन किया गया है। हालांकि उस समय आपके पास 10,000 से अधिक अंक होंगे।
मैं जेरेमी गिबन्स स्पिगोट एल्गोरिथ्म का उपयोग कर रहा हूं, जो मुझे लगता है कि यहां अन्य अधिकांश उत्तरों के समान है। हालाँकि, ध्यान दें कि यह इंटरप्रेटर पर निर्भर करता है जिसमें मनमाना सटीक मेमोरी सेल होता है, और एकमात्र कार्यान्वयन जो मुझे पता है कि इसका समर्थन करता है वह है PyFunge ।
व्याख्या
cf*10p Initialise r to 180.
'<20p Initialise t to 60.
11 Initialise i and q on the stack to 1.
> Start of the main loop.
00p Save the current value of q in memory.
1+:30p Increment i and save a copy in memory.
:::*+39**6+ Calculate u = 27*(i*i+i)+6.
: Make a duplicate, since we'll need two copies later.
30g39**c-00g*10gv Calculate y = (q*(27*i-12)+5*r)/(5*t).
/*5g02+*5<
,+*86: Convert y to a character so we can output it.
*a*-*g02\+g01*g00-2*5g03 Calculate r = 10*u*(q*(i*5-2)+r-y*t)
p01 Save the updated r.
*g02 Calculate t = t*u
p02 Save the updated t.
>:2*1-*00g*a* Calculate q = 10*q*i*(i*2-1).
^:
^ Return to the start of the main loop.