محاسبهی عدد اول معمولا دراکثر اپلیکیشنها کاربردی ندارد و این الگوریتم بیشتر در دانشگاهها برای تدریس به کار میرود! 😀
البته تجزیه و تحلیل و یادگیری این الگوریتمها یکی از دلایل اصلی آمادگی مغز شما برای نوشتن الگوریتمهای بسیار پیچیدهای است که حتی در آن محاسبات ریاضی آنچنانیای هم وجود ندارد!
البته قبلا در «این لینک»، خود الگوریتم عدد اول را بررسی کردهایم. حالا با استفاده از متد زیر در جاوا، میتوانید بررسی کنید که یک عدد اول است یا خیر:
public static boolean isPrime(int n) { for (int i = 2; i <= n / 2; i++) { if (n % i == 0) { return false; } } return true; }
این متد با دریافت عدد، در صورت اول بودن، true برگردانده و در صورت اول نبودن، false برمیگرداند
مثال
به کمک متد عدد اول بالا، یک متد جدیدی نوشتهایم که با دریافت ابتدا و انتهای بازه (برای مثال 1 و 100)، کلیهی اعداد اول بین آن دو را در یک لیست برمیگرداند! همچنین خود اعداد ابتدا و انتهای بازه نیز بررسی میشوند:
public static List<Integer> getPrimes(int from, int target) { List<Integer> primes = new ArrayList<>(); for (int i = from; i <= target; i++) { if (isPrime(i)) { primes.add(i); } } return primes; }
این متد، درصورتی که هیچ عدد اولی بین دو بازه یافت نشود، یک ArrayList خالی برمیگرداند.
نظرات ثبت شده بدون دیدگاه