یک برنامه پایتون بنویس که فاکتوریل یک عدد صحیح غیرمنفی n را با دو روش (حلقه تکراری و استفاده از math.factorial) محاسبه کند و زمان اجرای هر روش را برای چند مقدار n مقایسه و گزارش کند.

2.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:18

0.0

برای حل، ابتدا ورودی را به عنوان عدد صحیح غیرمنفی بررسی کنید، سپس یک تابع تکراری (iterative) برای محاسبه فاکتوریل پیاده‌سازی کنید و از تابع آماده math.factorial برای روش دوم استفاده نمایید؛ با استفاده از time.perf_counter یا ماژول timeit زمان اجرا را برای مقادیر نمونه (مثلاً n = 10, 100, 1000) اندازه‌گیری کنید و نتایج را چاپ کنید. نکات: از روش تکراری به جای بازگشتی استفاده کنید تا محدودیت عمق پشته را دور بزنید، برای دقت و اندازه‌های خیلی بزرگ Python از اعداد صحیح با طول متغیر پشتیبانی می‌کند، و برای تحلیل‌های عملکردی بیشتر می‌توانید از ماژول‌های کمکی مانند timeit یا پروفایلرهای ساده استفاده کنید.

توسط پژوهشگر در 202 روز قبل ساعت 02:18
دسته بندی ها: Python Python for beginner
nima در 202 روز قبل ساعت 10:12

برای مقایسه فاکتوریل با دو روش، پیاده‌سازی حلقه‌ای و استفاده از math.factorial را اجرا کنید و زمان هر دو روش را برای n=10، 100 و 1000 اندازه‌گیری نمایید. در پایتون هیچ محدودیت عددی نیست و اندازه‌گیری دقیق با time.perf_counter یا timeit و اجرای چندباره امکان‌پذیر است تا میانگین زمان به دست آید. علت اصلی تفاوت زمان، اجرای حلقه به‌صورت پایتونی است و تابع آماده‌ی کتابخانه‌ای در C پیاده‌سازی شده، بنابراین معمولاً سریع‌تر است. بهتر است قبل از اندازه‌گیری گرمایش اولیه انجام دهید و نتایج را با چند تکرار گزارش کنید تا ناهمگونی زمان کاهش یابد.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری