کسر و ب.م.م: آشنایی و استفاده
نویسنده: مهدی کریمی
تا به حال از اعداد کسری استفاده کردهاید؟ تا به حال اعداد کسری را با هم جمع، تفریق، ضرب و تقسیم کردهاید؟ آیا به این فکر کردهاید چگونه میتوان با برنامهنویسی این کار را سادهتر انجام داد؟
و آیا تا به حال ب.م.م دو عدد را محاسبه کردهاید؟ آیا به این فکر کردهاید چگونه میتوان در کمترین زمان ب.م.م را محاسبه کرد؟
برای این که بتوانید محاسبه ی این کارها رو به راحتی انجام دهید، میتوانید از کتابخانه fractions در پایتون استفاده کنید.
شروع کار با کتابخانه fractions
کتابخانه fractions نیاز به نصب ندارد. چون عضو مجموعه کتابخانههای استاندارد پایتون هست، به صورت پیشفرض همراه با پایتون نصب میشود.
قبل از هر کاری، این کتابخانه را با دستور زیر وارد میکنیم:
1 |
import fractions |
در این کتابخانه دو روش وجود دارد:
- Fraction: برای کار با اعداد کسری استفاده میشود.
- gcd: برای محاسبهی ب.م.م استفاده میشود.
برای کار با اعداد کسری از تابع Fraction استفاده میکنیم. این تابع دو ورودی میگیرد: ورودی اول صورت کسر است و ورودی دوم مخرج آن. به عنوان مثال:
fractions.Fraction(x,y) = x/y
برای مثال میخواهیم عبارت زیر را با استفاده از این تابع حل کنیم:
1 = 8/8 = 4/8 + 4/8 = 4/8 + 1/2
به کد زیر دقت کنید.
1 2 3 4 |
a = fractions.Fraction(1,2) b = fractions.Fraction(4,8) c = a + b print(c) |
نکته: دقت داشته باشید که مخرج کسر نمیتواند صفر باشد. و اگر بجای مخرج عدد صفر قرار دهید به خطا بر خورد میکنید.
تابع Fraction میتواند عدد اعشاری را هم ورودی بگیرد. در این حالت، آن را تبدیل معادل کسری آن میکند. برای نمونه، کد زیر عدد اعشاری 2.5 را میگیرد و آنرا به 5/2 تبدیل میکند:
1 |
a = fractions.Fraction(2.5) |
ب.م.م چیست؟
ب.م.م به معنای بزرگترین مقسومعلیه مشترک میباشد. به عنوان مثال شما دو عدد 15 و 18 را به خاطر بسپارید و تمام اعدادی که کوچک تر از آنها هستند و به آن ها بخشپذیر میباشد را بنویسید.
9 ,6 ,3 ,2 ,1 : 18
5 ,3 ,1 :15
حال بزرگترین عدد مشترک بین آن ها را بیابید که در اینجا عدد 3 میباشد. حال میخواهیم این کار را به کمک تابع gcd انجام دهیم.
به کد زیر دقت کنید:
1 2 |
a = fractions.gcd(18,15) print(a) |
به کد زیر دقت کنید:
1 2 |
import math math.gcd(18,15) |
برای انجام محاسبات پیچیده و سخت که زمان بسیاری میگیرد از سیستمهای هوشمند استفاده میکنند که هم محاسبات سریعتر انجام شود و هم با کوچکترین خطا به جواب مورد نظر برسیم. برای این گونه محاسبات یک مثال بنوسید و تلاش کنید آن را با پایتون حل کنید.
در پایان، اگر در قسمتی از متن ابهامی دارید حتما آن را در پایین این متن برای ما بنویسید.
بیشتر بخوانید
نظرات
علی
سلام
عالی و ساده و روان بود …
ممنون