math.integer --- توابع ریاضی مختص اعداد صحیح

اضافه شده در نسخه‌ی 3.15.


این ماژول دسترسی به توابع ریاضی تعریف‌شده برای آرگومان‌های عدد صحیح را فراهم می‌کند. این توابع، اعداد صحیح و اشیایی را می‌پذیرند که متد __index__() را پیاده‌سازی کرده‌اند؛ این متد برای تبدیل کردن شیء به یک عدد صحیح استفاده می‌شود.

توابع زیر توسط این ماژول فراهم شده‌اند. تمام مقادیر بازگشتی به‌طور دقیق محاسبه می‌شوند و عدد صحیح هستند.

math.integer.comb(n, k, /)

تعداد روش‌های انتخاب k آیتم از میان n آیتم بدون تکرار و بدون در نظر گرفتن ترتیب را برمی‌گرداند.

هنگامی که k <= n باشد به n! / (k! * (n - k)!) و هنگامی که k > n باشد به صفر ارزیابی می‌شود.

همچنین ضریب دو جمله‌ای نامیده می‌شود؛ زیرا معادل ضریب جمله‌ی kام در انبساه چندجمله‌ای (1 + x)ⁿ است.

اگر هر یک از آرگومان‌ها منفی باشند، خطای ValueError را بالا می‌آورد.

math.integer.factorial(n, /)

فاکتوریل عدد صحیح نامنفی n را برمی‌گرداند.

math.integer.gcd(*integers)

بزرگ‌ترین مقسوم‌علیه مشترک آرگومان‌های عدد صحیح مشخص‌شده را برمی‌گرداند. اگر هر یک از آرگومان‌ها ناصفر باشند، مقدار بازگشتی بزرگ‌ترین عدد صحیح مثبتی است که مقسوم‌علیه همه آرگومان‌ها باشد. اگر همه آرگومان‌ها صفر باشند، مقدار بازگشتی 0 خواهد بود. تابع gcd() بدون آرگومان، مقدار 0 را برمی‌گرداند.

math.integer.isqrt(n, /)

جذر صحیح عدد صحیح نامنفی n را برمی‌گرداند. این مقدار، کفِ جذر دقیق n، یا به عبارت معادل، بزرگ‌ترین عدد صحیح a است به‌طوری‌که a² ≤ n باشد.

برای برخی برنامه‌ها، ممکن است راحت‌تر باشد که کوچک‌ترین عدد صحیح a را داشته باشیم به‌طوری‌که n ≤ a² باشد، یا به عبارت دیگر سقف جذر دقیق n است. برای n مثبت، این مقدار را می‌توان با استفاده از a = 1 + isqrt(n - 1) محاسبه کرد.

math.integer.lcm(*integers)

کوچک‌ترین مضرب مشترک آرگومان‌های عدد صحیح مشخص‌شده را برمی‌گرداند. اگر همه آرگومان‌ها ناصفر باشند، مقدار بازگشتی کوچک‌ترین عدد صحیح مثبتی است که مضربی از همه آرگومان‌ها باشد. اگر هر یک از آرگومان‌ها صفر باشند، مقدار بازگشتی 0 خواهد بود. تابع lcm() بدون آرگومان، مقدار 1 را برمی‌گرداند.

math.integer.perm(n, k=None, /)

تعداد روش‌های انتخاب k آیتم از میان n آیتم بدون تکرار و با در نظر گرفتن ترتیب را برمی‌گرداند.

هنگامی که k <= n باشد به n! / (n - k)! و هنگامی که k > n باشد به صفر ارزیابی می‌شود.

اگر k مشخص نشده باشد یا None باشد، به طور پیش‌فرض k برابر با n در نظر گرفته می‌شود و تابع n! را برمی‌گرداند.

اگر هر یک از آرگومان‌ها منفی باشند، خطای ValueError را بالا می‌آورد.