آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

اعداد طبیعی یک تا n...سوال...

پژمان  8 سال پیش  8 سال پیش
0 0

  1. سلام..من  میخام یک الگوریتم بنویسم تا بتونم اعداد اول رو از یک تا n رو محاسبه کنه.محاسبه اعداد اول رو استاد آموزش دادن.به این شکل که عددی رو وارد میکنیم و میگه اول هست یا نه...من خواستم یکم تغییرات ایجاد کنم و اعداد اول رو از یک تا عدد ورودی توسط کاربر محاسبه کنم.حالا مشکل اینجا پیش میاد که آگه اعداد یک تا n رو توسط یک متد دیگر به متد اعداد اول بفرستم درست کار میکنه.
0 0
حالا وقتی حلقه for رو از متد adad بر میدارم و اولین خط متد aadadaval قرار میدم متد وقتی به عدد چهار مدرسه پیام چاپ میکنه که چهار عدد اول نیست (البته تو عکس log.I این پیام و پاک کردم)اما منظور اینکه به چهار مدرسه احتمالا بخاطر دستور return از جفت حلقه خارج میشه...بنظر شما جای return چی بنویسم که از حلقه خارج نشه اما اگر عددی مقسوم علیه داشت رو بیخیال به و عدد بعدی رو محاسبه کنه.؟ (8 سال پیش)
 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
پژمان  8 سال پیش
0 0

0 0
سلام . به جای return از continue استفاده کنید به احتمال زیاد مشکلتون بر طرف میشه . (8 سال پیش)
0 0
سلام . به جای return از continue استفاده کنید به احتمال زیاد مشکلتون بر طرف میشه . (8 سال پیش)
0 0
مرسی از وقتی که گذاشتی اما نشد...همه اعداد رو چاپ میکنه.چه اول چه غیر اول. (8 سال پیش)
پاسخ به سوال 
حسینی  8 سال پیش
+1 0

ببینید من به کد شما نگاه نکردم .و کلی جواب دادم کلا برای اینکه در یک حلقه برید به عدد بعدی میتونید از continue استفاده کنید و اگر بخواید از حلقه برید بیرون از break  استفاده کنید .راهکار ها زیاده . کاری که من در این عکس کردم گرفتن یک متغیر کمکیه به نام helper .

پاسخ به سوال 
هادی اکبرزاده  8 سال پیش
+1 0

میتونین با دو متد زیر که براتون نوشتم به هدف برسین:

 
public static boolean isPrime(int n) {
for(int i = 2; i <= n / 2; i++) if (n % i == 0) return false;
return true;
}

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);
if (primes.size() == 0) return null;
return primes;
}

و اما کد مثال:

List<Integer> primes = getPrimes(1, 100);
if (primes != null) for (int p : primes) Log.i("Hadi", "Prime = " + p);

به همین سادگی

0 0
مرسی از لطف هر دو عزیز (8 سال پیش)
+1 0
خب تیک جواب رو هم بزن :| :D (8 سال پیش)
0 0
تیک جواب کجاست (8 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .