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

مقسوم علیه های اول

Mostafa  11 سال پیش  11 سال پیش
0 0

سلام

سال گذشته مجموعه رو خریدم و دائم دارم سعی میکنم برا مطالعش و مرورش وقت بزارم ولی نمیشه

بعد از مدت ها چند وقته تونستم یکم به مطالعه برسم ، البته یبار هم تا انتها بخش هفت و مقدماتی رفتم

ولی خب  برگشتم تا مجدد مرور کنم از اول

 

اینجا کد مقسوم علیه های اول که بنظرم باید این کار رو بکنه میزارم

درست کار نمیکنه

بنظرتون مشکل چیه؟

دوستان ممنون میشم فقط در مورد مشکلات الگوریتم همین کد حرف بزنیم و از معرفی جایگزین ها خودداری کنین

با تشکر فراوان

 

       int mynumber2 = 222;
for (int index1 = 1; index1 <= mynumber2; index1++) {
if (mynumber2 % index1 == 0 & index1 != 1 & index1 != mynumber2) {
for (int i = 1; i < index1; i++) {
if (index1 % i != 0) {
Log.i("LOG", "Adad " + index1 + " maghsum Avval ast.");

}

}

}

}

 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
mtn67  11 سال پیش
0 0

اول از همه حلقه for اولی را به صورت زیر بنویس:

 for (int index1 = 2; index1 < mynumber2; index1++) {

در نتیجه if کوتاه تر میشه به صورت زیر:

 if (mynumber2 % index1 == 0) {

سپس یک متفیر تعریف کن که مقدار اولیه ش صفر هست:

 int mynumber2 = 222;
 int check = 0;

بعد شما باید چک کنید که مقسوم علیه به دست آمده آیا به عددی غیر از یک و خودش بخش پذیر هست یا نه.اگر بود مقدار متفیر check رو یک واحد افزایش بده.در آخر هم بررسی کن که متفیر check اگر برای عددی صفر باقی ماند یعنی آن عدد بجز یک و خودش بر هیچ عددی بخش پذیر نبوده پس عدد اول هست:

     int mynumber2 = 222;
        int check = 0;
        for (int index1 = 2; index1 < mynumber2; index1++) {
            if (mynumber2 % index1 == 0) {
                for (int i = 2; i < index1; i++) {
                    if (index1 % i == 0) {
                        check++;
                    }

                }
                if (check == 0) {
                    Log.i("LOG", "Adad  " + index1 + "  maghsum Avval ast.");
                }
                check = 0;

            }

        }

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