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