به محفل ریاضی ایرانیان خوش آمدید! لطفا برای استفاده از تمامی امکانات عضو شوید
سایت پرسش و پاسخ ریاضی
+4 امتیاز
131 بازدید
در دبیرستان و دانشگاه توسط jamasd (23 امتیاز)
ویرایش شده توسط A-math-lover

سلام. سایتی وجود داره که عددی که من میگم را در اعشار عدد پی پیدا کنه و بگه چندمین عدد اعشاری هست؟ برای تاریخ تولد سایتش را دیده‌ام، اما من برای هر عددی می‌خوام. مثلاً اگر گفتم عدد 14159 را می‌خوام، بگه از اولین رقم عدد پی شروع میشه.

2 پاسخ

+3 امتیاز
توسط ناصر آهنگرپور (1,983 امتیاز)
ویرایش شده توسط AmirHosein

با درود: در سایت زیر می‌توانید عدد دلخواه خود را وارد کنید و جواب سؤالتان را بگیرید. امیدوارم مفید واقع شود. اما سؤالی که پیش می‌آید اینه که در ریاضی چه کاربردی داره؟

http://www.angio.net/pi/

توسط jamasd (23 امتیاز)
+2
سلام عالی بود چجوری پیداش کردید؟ میگن همه سلسله اعداد در پی پیدا میشن ... میخواستم چک کنم ... ممنون
توسط ناصر آهنگرپور (1,983 امتیاز)
ویرایش شده توسط AmirHosein
+1
@jamasd : با درود مجدد. فقط کافیه سؤالتون رو به انگلیسی در گوگل کروم تایپ کنید. با تایپ عبارت "find your number in pi" این سایت را پیدا کردم.
+2 امتیاز
توسط AmirHosein (18,942 امتیاز)

سایت‌های بسیاری وجود دارند که یکی از آنها را آقای @ناصرـآهنگرپور اشاره کردند. پیش از اشاره به چند سایت و مرجع دیگر ابتدا برایتان یادآور می‌شوم که این سایت‌ها هرگز همهٔ عددهای یک عدد بدون نظم مانند عدد $\pi$ را ندارند. توجه کنید که عددهای نظم‌دار مترادف با عددهای گویا نیستند، برخی عددهای گنگ یا حتی متعالی نیز دارای نظم هستند. به هر حال، کاری که این سایت‌ها کرده‌اند این است که تا مقدار ثابتی از عددهای پس از اعشار عدد مورد نظر را ذخیره کرده‌اند. برای نمونه سایت شمارهٔ ۱ در زیر را نگاه کنید، در ابتدایش اشاره کرده‌است که «تا $2\times 10^9$ رقم پس از اعشار از عددهای $\pi$ و $e$ (عدد نپر) و $\sqrt{2}$ و $\phi$ (نسبت طلایی) را در حافظه دارد و کاری که می‌کند جستجوی عدد شما تنها در این قسمتِ حفظ‌شده در بایگانی‌اش است.» بعلاوه در جستجو نیز محدودیت دارند، برای نمونه برخی فقط ۱۰ عدد متوالی را چک می‌کنند و غیره.

اما به جز سایت‌ها می‌توانید از نرم‌افزارهای ریاضی یا زبان‌های برنامه‌نویسی هم کمک بگیرید. برای نمونه اگر می‌خواهید نرم‌افزار میپل Maple عدد $\pi$ را با ۲۰ رقم پس از اعشار محاسبه کند آنگاه از دستور evalf( Pi, 21) استفاده کنید. آنگاه آن را به یک رشته (واژه، دنباله‌ای از کاراکترها) تبدیل کنید با دستورِ convert( -, string) و سپس با دستورِ Search در بستهٔ StringTools رشته عددی که می‌خواهید را جستجو کنید. اگر خروجی صفر بود، یعنی رشته‌تان یافت نشد، اگر عددی مثبت بود آنگاه این عدد شمارهٔ مکانی است که رشته‌تان از آنجا شروع شده‌است. برای نمونه بیایید چک کنیم که آیا رشتهٔ ۱۲۳ در ۲۰ رقم نخستِ عدد پی دیده می‌شود یا خیر و همینطور رشتهٔ ۵۸۹.

num := evalf( Pi, 21 ):
numstr := convert( num, string ):
StringTools:-Search( "123", numstr );
StringTools:-Search( "589", numstr );

اگر از میپل بخواهید که numstr را نشان دهد به شما این رشته را نشان می‌دهد.

"3.14159265358979323846"

و توجه کنید که رقم پایانی گرد شده‌است بنابراین به آن ۶ که در پایان آمده‌است نمی‌توان ۱۰۰٪ اعتماد کرد، اگر از میپل خواسته بودید تا ۱۹ رقم پس از اعشار بیابد خروجی‌تان 3.1415926535897932385 می‌شد! این یعنی ۴۶ آخر را به ۵ گرد می‌کرد. به هر حال برای دو جستجویمان به ترتیب عددهای ۰ و ۱۲ ارائه می‌شوند. توجه کنید که ۱۲ با احتساب ۳ و ممیز است. اگر می‌خواهید دقیقا شمارش از پس از اعشار شروع شود باید به جای جستجو در رشتهٔ numstr در برش‌داده‌شده‌اش که دو کاراکتر نخست را نداشته باشد جستجو کنید. در میپل همانند زبان برنامه‌نویسی پایتون Python، عملگرِ برش slice وجود دارد (در واقع method نه operator). در پایتون برای برشی که از بعد از اندیسِ ۲ تا آخر را شامل شود از numstr[2:] یا numstr[2:-1] استفاده می‌کردید، در میپل از numstr[3..] یا numstr[3..-1] استفاده می‌کنید. توجه کنید که برخلافِ پایتون که از صفر شماره‌گذاری می‌کند، میپل از ۱ شماره‌گذاری می‌کند پس کاراکتر سوم در میپل اندیس ۳ دارد نه ۲.

num := evalf( Pi, 21 ):
numstr := convert( num, string )[3..]:
StringTools:-Search( "123", numstr );
StringTools:-Search( "589", numstr );

که این دفعه به جای ۱۲ برای ۵۸۹ عدد ۱۰ را ارائه می‌کند. و در پایان حواستان باشد که نرم‌افزار میپل یا هر نرم‌افزار ریاضی یا بسته و الگوریتم دیگری ممکن است فقط تا تعداد خاصی عدد پس از اعشار خروجی‌اش با عدد اصلی برابر باشد، پس برای هر تعداد دلخواهی میپل نمی‌تواند عددهای درست را بدهد. البته من بررسی نکرده‌ام که نرم‌افزار میپل عدد $\pi$ را تا چند رقم پس از اعشار ذخیره کرده‌است یا از چه الگوریتمی برای محاسبه‌اش استفاده می‌کند تا بدانم تا چند رقم می‌توانید ازش با اطمینان صحت بخواهید. اگر بیشتر از این دوست دارید، می‌توانید به جای فقط گرفتن شمارهٔ جایگاه اولین باری که رشته‌تان مشاهده می‌شود، بلکه تمام دفعه‌هایی که مشاهده می‌شود را بخواهید. برای این کار به جای دستورِ Search از دستورِ SearchAll کمک بگیرید.

num := evalf( Pi, 101 ):
numstr := convert( num, string )[3..]:
StringTools:-SearchAll( "16", numstr );

که خروجی‌تان دو عدد ۴۰ و ۶۸ می‌شود. این بار اگر رشته‌تان اصلا دیده نشود، به جای خروجیِ صفر، چیزی در خروجی داده نمی‌شود.

  1. http://www.subidiom.com/pi
  2. https://www.atractor.pt/mat/fromPI/PIsearch-_en.html

حمایت مالی

کانال تلگرام محفل ریاضی
امروز : تاریخ شمسی اینجا نمایش داده می‌شود
...