পাই এর 500 অঙ্ক গণনা করুন


25

নীচের নিয়মগুলি পূরণ করে পাই এর প্রথম 500 অঙ্ক গণনা করার জন্য একটি প্রোগ্রাম লিখুন:

  • এটি দৈর্ঘ্যের 500 টিরও কম অক্ষরের হতে হবে।
  • এটিতে "পাই", "math.pi" বা অনুরূপ পাই ধ্রুবকগুলি অন্তর্ভুক্ত করা যাবে না, বা পাইয়ের গণনা করার জন্য এটি কোনও লাইব্রেরি ফাংশন কল করতে পারে না।
  • এটি ধারাবাহিকভাবে "3", "1" এবং "4" সংখ্যা ব্যবহার করতে পারে না।
  • এটি একটি আধুনিক কম্পিউটারে একটি যুক্তিসঙ্গত সময়ে (1 মিনিটের নিচে) কার্যকর করতে হবে।

সংক্ষিপ্ততম প্রোগ্রামটি জিতেছে।


আপনার অঙ্কগুলি সঠিক কিনা তা পরীক্ষা করতে: eveandersson.com/pi/digits
নেলিয়াস

প্রথম 500 এর পরে আমাদের নির্ভুলতার ক্ষতি সহ 500 টিরও বেশি অঙ্ক মুদ্রণ করার অনুমতি রয়েছে?
আলেকজান্দ্রু

@ আলেকজান্দ্রু, আমি মনে করি তবে আমি এটি কেটে যাওয়া দেখতে পছন্দ করব।
থমাস হে

@ জো পিআইয়ের সংগ্রহের জন্য কোনও লাইব্রেরি কাজ করে না - আমি ধরে নিচ্ছি আপনি পিআই ধ্রুবক / ফাংশন ব্যতীত লাইব্রেরি থেকে যে কোনও কিছু ব্যবহার করতে পারবেন।
অরেল বালি

1
"পাই এর অঙ্কগুলি" ওয়েবসাইট ডাউনলোড করতে আমরা কি এইচটিটিপি লাইব্রেরি ব্যবহার করতে পারি? ;-)
dan04

উত্তর:


11

গল্ফস্ক্রিপ্ট - 29 টি অক্ষর

6666,-2%{2+.2/@*\/9)499?2*+}*

আমি পরে বিশ্লেষণ পোস্ট করব


5
এটি কীভাবে কাজ করে তা আপনি ব্যাখ্যা করতে পারেন?
থমাস হে

65
"আমি পরে বিশ্লেষণ পোস্ট করব"। (3 বছর অপেক্ষা করুন) ....
জাস্টিন

14
"আমি পরে বিশ্লেষণ পোস্ট করব" * 6 বছরেরও বেশি সময় অপেক্ষা করে *
এরিক আউটগল্ফার

1
টুইটগুলি দেখুন : পি
ক্রিস্টোফার

1
"আমি পরে বিশ্লেষণ পোস্ট করব" (8 বছরের জন্য অপেক্ষা করে)
জোনো 2906

8

গণিত (34 টি চর): (ট্রিগ দিয়ে "প্রতারণা" না করে)

N[2Integrate[[1-x^2]^.5,-1,1],500]

সুতরাং, এখানে যাদুটি ব্যাখ্যা করতে:
Integrate[function, lower, upper]আপনাকে বক্ররেখা "ফাংশন" এর নীচে "নিম্ন" থেকে "উপরের" পর্যন্ত অঞ্চল দেয় the এই ক্ষেত্রে, সেই ফাংশনটি [1-x^2]^.5, এটি একটি সূত্র যা 1 টি ব্যাসার্ধের সাথে একটি বৃত্তের উপরের অর্ধেকটি বর্ণনা করে Because অতএব, আমরা একটি বৃত্তের অর্ধেক অঞ্চলটি সন্ধান করছি। যখন আমরা 2 দিয়ে গুণ করি তখন আমরা 1 এর ব্যাসার্ধের বৃত্তের ক্ষেত্রফল পাই, যা পাই এর সমান।


সম্ভবত আপনার উত্তরে thisোকানো উচিত, কেন এটি কাজ করে তার একটি ব্যাখ্যা (তাদের জন্য অ-গণিতের লোকেরা)।
জাস্টিন

দুর্দান্ত ধারণা আমি বর্তমানে এটি দেখতে হবে। আমি জড়িত গণিতের একটি প্রাথমিক ব্যাখ্যা দেব।
স্ট্যাক ট্রেসার

হতে পারে আপনি এটি সংক্ষিপ্ত করতে পারেন: এতে পরিবর্তন sqrt[1-x^2]করুন(1-x^2)^.5)
জাস্টিন

এবং আমি 2-এর পরে অপসারণ করতে পারি M ম্যাথমেটিকা ​​দুর্দান্ত।
স্ট্যাক ট্রেসার

4

পাইথন (৮rs টি চর)

P=0
B=10**500
i=1666
while i:d=2*i+1;P=(P*i%B+(P*i/B+3*i)%d*B)/d;i-=1
print'3.%d'%P

3

পারি / জিপি, ১৪

\p500
acos(-1)

আপনি দ্বিতীয় লাইনের পরিবর্তে ট্রিগ এড়াতে পারবেন

gamma(.5)^2

অথবা

(6*zeta(2))^.5

অথবা

psi(3/4)-psi(1/4)

অথবা

4*intnum(x=0,1,(1-x^2)^.5)

অথবা

sumalt(k=2,(-1)^k/(2*k-3))*4

2

বিসি-এল (22 = 5 কমান্ড লাইন + 17 প্রোগ্রাম)

scale=500
4*a(1)

5
বিধিগুলি বলছে "পাই গণনা করার জন্য এটি একটি লাইব্রেরি ফাংশনও কল করতে পারে না।"
পিটার টেলর

@ পিটার যে সমস্যাটি আমি অনুমান করি তা হ'ল "গ্রন্থাগার ফাংশন" সর্বদা একটি সংজ্ঞায়িত শব্দ নয় এবং আপনি কেবল "পাই গণনা করতে" বললে এটি আরও খারাপ হয়, আপনি এটি মধ্যবর্তী ফলাফলগুলি গণনা করতে ব্যবহার করতে পারেন, উদাহরণস্বরূপ স্ক্র্যাট () আলেকজান্দ্রু এর উত্তরে।
ডাঃ বেলিসারিয়াস

আমি মনে করি এটি প্রতারণা করছে কারণ আতান 1/4 পাই গণনা করে তবে এটি একটি আকর্ষণীয় সমাধান।
থমাস হে

1
@ থমাস ও: যদি এটি প্রতারণা করে তবে সীমাটি কোথায়?
জেবি


1

পাইথন 3 136

মাধবের সূত্র ব্যবহার করে ।

from decimal import *
D=Decimal
getcontext().prec=600
p=D(3).sqrt()*sum(D(2-k%2*4)/3**k/(2*k+1)for k in range(1100))
print(str(p)[:502])

পাইথন 3 164

এই সূত্রটি ব্যবহার করে ।

from decimal import *
D=Decimal
getcontext().prec=600
p=sum(D(1)/16**k*(D(4)/(8*k+1)-D(2)/(8*k+4)-D(1)/(8*k+5)-D(1)/(8*k+6))for k in range(411))
print(str(p)[:502])


1

পাইথ , 21

u+/*GHhyHy^T500r^3T1Z

এই অ্যালগরিদম ব্যবহার করে: pi = 2 + 1/3*(2 + 2/5*(2 + 3/7*(2 + 4/9*(2 + ...))))গল্ফস্ক্রিপ্ট উত্তরের মন্তব্যে পাওয়া যায়।


এটি কোনও ডাউনটোটের প্রাপ্য নয় ...
বিটা

এই উত্তরটি ভুল, এটি 34247779 উত্পন্ন করে ... যা আমার জ্ঞানের ভিত্তিতে পাই নয়।
orlp

@orlp rঅপারেশনটি সম্প্রতি এমনভাবে পরিবর্তিত হয়েছিল যা এই উত্তরটি ভেঙে দিয়েছে। পরিবর্তন 1একটি থেকে 0, এবং এটি বর্তমান Pyth কাজ করবে।
isaacg 27'15

0

এক্সিয়াম, 80 বাইট

digits(503);v:=1./sqrt(3);6*reduce(+,[(-1)^k*v^(2*k+1)/(2*k+1)for k in 0..2000])

রেফারেন্সের জন্য https://tuts4you.com/download.php?view.452 ; এটি * * আর্টটিজি (১ / স্কয়ার্ট (৩)) =% পি এর অ্যাপসিসিমেশন হবে এবং এটি আর্টজির জন্য সিরি সম্প্রসারণ ব্যবহার করবে

  3.1415926535 8979323846 2643383279 5028841971 6939937510 5820974944 592307816
  4 0628620899 8628034825 3421170679 8214808651 3282306647 0938446095 505822317
  2 5359408128 4811174502 8410270193 8521105559 6446229489 5493038196 442881097
  5 6659334461 2847564823 3786783165 2712019091 4564856692 3460348610 454326648
  2 1339360726 0249141273 7245870066 0631558817 4881520920 9628292540 917153643
  6 7892590360 0113305305 4882046652 1384146951 9415116094 3305727036 575959195
  3 0921861173 8193261179 3105118548 0744623799 6274956735 1885752724 891227938
  1 8301194913 01

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