در این جلسه، تیم کدگیت را با آموزش عدد اول در جاوا همراهی کنید. پیش نیاز این آموزش شامل موارد زیر است:
عدد اول
عدد اول عددی طبیعی بزرگتر از ۱ است که بر هیچ عددی بجز خود و ۱ بخشپذیر نباشد. تنها استثنا عدد ۱ است که جزو این اعداد قرار نمیگیرد. اگرعددی طبیعی وبزرگتر از ۱ اول نباشد مرکب است.
رقم یکان اعداد اول بزرگتر از ۱۰ فقط ممکن است ارقام ۱، ۳، ۷، و ۹ باشد.
پیدا کردن رابطهای جبری برای اعداد اول جزو یکی از معماهای ریاضی باقیمانده است و هنوز کسی به فرمولی برای آنها دست نیافته است(ویکیپدیا)
عدد اول در جاوا
برای پیدا کردن اعداد اول، روش ساده ای وجود دارد. این روش این است که ما از عدد 2 شروع میکنیم و یکی یکی اعداد را بر عددی که میخواهیم اول بودنش را بدانیم تقسیم میکنیم و در دو صورت روش پایان میپذیرد اول اینکه باقیمانده ما صفر و دوم اینکه توان دو عددی که تقسیم میکنیم از عددی که میخواهیم اول بودنش را بدانیم بزرگتر شود.
کد عدد اول در جاوا به صورت زیر است:
public static void main(String[] args) {
int n = 24;
boolean isPrime = true;
if (n < 2) isPrime = false;
for (long factor = 2; factor*factor <= n; factor++) {
if (n % factor == 0) {
isPrime = false;
break;
}
}
if (isPrime) System.out.println(n + " is prime");
else System.out.println(n + " is not prime");
}
همانطور که در کد عدد اول در جاوا میبینید ما یک متغیر به نام n تعریف کردیم. این متغیر عددی است که میخواهیم بدانیم اول است یا خیر. متغیر isPrime وقتی متغیر n اول باشد true میشود و در غیر این صورت false میشود.
در ادامه یک حلقه نوشته شده که از عدد 2 شروع میشود و یکی یکی به آن اضافه میشود. در حلقه باقیمانده هر عدد بر n را میگیریم(تست اول بودن یا خیر). در آخر کد چاپ میکنیم عدد اول هست یا خیر.
سلام
چرا factor*factorکردین
ممنون
سلام. با توجه به فرمولی در ریاضی این قسمت نوشته شده است.(قضیه: عددی اول است که به اعداد اول کوچکتر یا مساوی با مجذور خودش بخش پذیر نباشد.)