درود
چند پیشنهاد
مرتب نویسی رو هیچوقت فراموش نکنید. هیچوقت سعی نکنید الکی کدتون رو شلوغ بکنید. در کل وقتی بعدا وارد پروژه های گروهی میشید، خوانا بودن کد شما خیلی اهمیتش بیشتر از اینه که کدتون به هم ریخته و ناخوانا باشه در عین این که کوتاه و بهینه تر باشه.
دوم اینکه برای پروژه های کوچیک (به نظر من) بهترین IDE در ویندوز Codeblocks هست. البته این به هیچ وجه به این معنای ضعفش در کار های بزرگ نیست. نسخه همراه با کامپلیرش هم موجوده که به طور خودکار نصب می کنه. (GNU GCC)
در مورد کدتون
خوب واضحه که از شیوه تقسیم استفاده می کنید.
اشکالات
این کد تصحیح شده است.
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
(جانم فونت)
جای i , j رو با هم عوض کردی. در ضمن i رو هم صفر تعریف کردی در صورتی که تقسیم یک عدد بر صفر مبهم ه و برنامه شما به احتمال زیاد پس از رسیدن به اون نقطه کرش میشه.
بهینه سازی
لارم نیست تمام اعداد 1 تا n رو تقیسم کنی. تا رادیکال n کافیه.
من خواستم در بهینه سازی از وکتور استفاده کنم ولی از اونجا که بازه و ترتیب اعداد مشخص نیست پس بیخیالش.
یک مورد دیگه می تونه این باشه که اگر عدد زوج بود، همون اول بیخیالش بشی.
نتیجه
این هم کدی که بهش رسیدم. تستش نکردم پس ممکنه باگ بخوره.
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
غربال اراتستن هم به دلایلی که گفته شد ازش رد میشیم. اگر این کد بالا کافی نبود بگو الگورتیم Miller-Rabin رو که مدل Deterministic اش هست رو بذارم که البته به دلیل پیچیدگی زیاد توصیه نمیشه و شما فقط کپی پیست انجام می دید!
بدرود