فهرست سرفصل‌های NumPy
خانه (HOME) مقدمه (Intro) شروع کار (Getting Started) ساخت آرایه ها (Creating Arrays) ایندکس گذاری آرایه (Array Indexing) برش آرایه (Array Slicing) انواع داده (Data Types) کپی در برابر View (Copy vs View) شکل آرایه (Array Shape) تغییر شکل آرایه (Array Reshape) حلقه روی آرایه (Array Iterating) ترکیب آرایه ها (Array Join) تقسیم آرایه ها (Array Split) جستجو در آرایه (Array Search) مرتب سازی آرایه (Array Sort) فیلتر کردن آرایه (Array Filter) مقدمه تصادفی سازی (Random Intro) توزیع داده (Data Distribution) جابه جایی تصادفی (Random Permutation) ماژول Seaborn (Seaborn Module) توزیع نرمال (Normal Distribution) توزیع دوجمله ای (Binomial Distribution) توزیع پواسون (Poisson Distribution) توزیع یکنواخت (Uniform Distribution) توزیع لجستیک (Logistic Distribution) توزیع چندجمله ای (Multinomial Distribution) توزیع نمایی (Exponential Distribution) توزیع کای دو (Chi Square Distribution) توزیع ریلی (Rayleigh Distribution) توزیع پارتو (Pareto Distribution) توزیع زیف (Zipf Distribution) مقدمه ufunc (ufunc Intro) ساخت تابع ufunc (ufunc Create Function) حساب ساده با ufunc (ufunc Simple Arithmetic) گرد کردن اعشار با ufunc (ufunc Rounding Decimals) لگاریتم ها با ufunc (ufunc Logs) جمع ها با ufunc (ufunc Summations) حاصل ضرب ها با ufunc (ufunc Products) تفاضل ها با ufunc (ufunc Differences) کمترین مضرب مشترک با ufunc (ufunc Finding LCM) بزرگترین مقسوم علیه مشترک با ufunc (ufunc Finding GCD) توابع مثلثاتی با ufunc (ufunc Trigonometric) توابع هذلولوی با ufunc (ufunc Hyperbolic) عملیات مجموعه ای با ufunc (ufunc Set Operations) ویرایشگر (Editor) آزمون (Quiz) تمارین (Exercises) سرفصل دوره (Syllabus) برنامه مطالعه (Study Plan) گواهینامه (Certificate)
نتیجه‌ای برای جستجو یافت نشد.
NumPy

NumPy — کمترین مضرب مشترک با ufunc (ufunc Finding LCM)

آخرین بروزرسانی: 1404/08/25

کمترین مضرب مشترک با ufunc (ufunc Finding LCM)

اینجا با این ایده کار می کنیم که چطور با NumPy کمترین مضرب مشترک با ufunc در NumPy را برای چند عدد پیدا کنیم و بعد همین کار را برای کل یک آرایه انجام دهیم.

کمترین مضرب مشترک با ufunc در NumPy

در منبع گفته شده کمترین مضرب مشترک یعنی کوچک ترین عددی که مضرب هر دو عدد باشد.

برای پیدا کردن این عدد بین دو عدد ساده، از تابع np.lcm() استفاده می شود.

در مثال منبع، کمترین مضرب مشترک بین 4 و 6 حساب شده است.

import numpy as np

num1 = 4
num2 = 6

x = np.lcm(num1, num2)

print(x)

مشاهده در ادیتور

طبق متن منبع، خروجی 12 است؛ چون 4×3 و 6×2 هر دو برابر 12 می شوند.

اگر خواستی قبل از این بخش، تفاوت ها را ببینی، صفحه تفاضل ها با ufunc می تواند کمک خوبی باشد.

در این صفحه مفهوم کمترین مضرب مشترک با ufunc در NumPy با مثال های ساده از همان منبع توضیح داده شده است.

کمترین مضرب مشترک در آرایه ها با np.lcm.reduce

در ادامه منبع، کمترین مضرب مشترک همه عددهای داخل یک آرایه بررسی شده است.

برای این کار، از متد reduce() روی ufunc lcm() استفاده می شود.

طبق توضیح، reduce() این تابع را روی عناصر آرایه تکرار می کند و آرایه را در نهایت به یک مقدار تبدیل می کند.

در اولین مثال، کمترین مضرب مشترک برای آرایه سه تایی [3, 6, 9] حساب شده است.

import numpy as np

arr = np.array([3, 6, 9])

x = np.lcm.reduce(arr)

print(x)

مشاهده در ادیتور

در متن منبع گفته شده خروجی 18 است؛ چون 3×6، 6×3 و 9×2 همگی 18 می دهند.

مثال بعدی، همه عددهای 1 تا 10 را با np.arange(1, 11) می سازد و کمترین مضرب مشترک آن ها را پیدا می کند.

import numpy as np

arr = np.arange(1, 11)

x = np.lcm.reduce(arr)

print(x)

مشاهده در ادیتور

این مثال نشان می دهد چطور یک ufunc مانند lcm() می تواند روی یک بازه کامل از عددها با reduce() اجرا شود.

نکته: در یادداشت منبع گفته شده reduce() بعد از استفاده از ufunc، آرایه را یک بُعد کاهش می دهد و فقط نتیجه نهایی را برمی گرداند.

برای ادامه این مسیر، بعد از LCM، دیدن صفحه بزرگترین مقسوم علیه مشترک با ufunc هم کنار همین بحث معنا پیدا می کند.

تمرین گام به گام با کمترین مضرب مشترک با ufunc

برای تمرین حرف هایی که منبع درباره کمترین مضرب مشترک گفته، این سه گام را انجام بده:

  1. دو عدد ساده مثل 4 و 6 را انتخاب کن و با np.lcm() خروجی را ببین.
  2. یک آرایه کوچک مثل [3, 6, 9] بساز و از np.lcm.reduce() کمک بگیر.
  3. در آخر، با np.arange(1, 11) همه عددهای 1 تا 10 را امتحان کن و به نتیجه نهایی خوب دقت کن.

اگر این سه مرحله را درست انجام دهی، بخش مهمی از کار با کمترین مضرب مشترک با ufunc در NumPy را مثل مثال های منبع لمس می کنی.

جمع بندی سریع کمترین مضرب مشترک با ufunc

در آخر، چند نکته کوتاه و مستقیم بر اساس همین منبع:

  • کمترین مضرب مشترک، کوچک ترین عددی است که مضرب هر دو عدد باشد.
  • تابع np.lcm() کمترین مضرب مشترک دو عدد را محاسبه می کند.
  • با np.lcm.reduce() می توان کمترین مضرب مشترک کل عناصر یک آرایه را به دست آورد.
  • در مثال منبع، کمترین مضرب مشترک آرایه [3, 6, 9] برابر 18 است.
  • استفاده از reduce() باعث می شود آرایه به یک مقدار نهایی کاهش داده شود.