بالاخره وقت کردم و الگوریتم خودم رو بهبود بخشیدم!
به نحوی که الان 1000 فاکتوریل رو میشه در 4.5 ثانیه به دست آورد. (با الگوریتم قبلی 8 ثانیه طول می کشید)
تغییرات :
- استفاده از StringBuilder به جای String
- حذف کردن بعضی متغیرها
- اعتبار سنجی برای کاهش ردیف ها
- استفاده از یک Regex Expression برای حذف صفر های بی ارزش
- افزودن Comment به سورس کد جهت راهنمایی بیش تر !
- افزودن پارامتر Time Elasped
- حذف یک باگ در بعضی ضرب های بزرگ
- و چند مورد جزیی دیگه
الگوریتم اول رو هم کامل حذف کردم چون دیگه الگوریتم خودم تقریبا 2 برابر سرعت داره !
به طور مثال : در تصویر پست قبل مقدار 2000 فاکتوریل با الگوریتم اول در حدود 67 ثانیه محاسبه شد ولی با این الگوریتم جدید در حدود 36 ثانیه طول کشید.
برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
Source جدید ضمیمه شد. برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید






پاسخ با نقل قول
Bookmarks