بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

فیبوناچی

مدیریت گفتگو
sajad98 11 سال پیش
آخرین تغییر: 9 سال پیش

سلام .

میدونم خیلی این کد سادس اما من متوجهش نمیشم.

        int number1 = 1;
        int number2 = 2;
        int nextNumber;

        for (int i = 0; i <= 10; i++) {
            nextNumber = number1 + number2;
            Log.i("Tag", "Nmber Is " + nextNumber);
            number1 = number2;
            number2 = nextNumber;
        }

الان من این کدو حفظم اما نمیفهمم که چیکار میکنه و فقط از حفظیاتم مینویسم اما عملکردشو نمیفهمم. مخصوصا این قسمت آخرشو که نوشته   

            number1 = number2;
            number2 = nextNumber;

ممنون میشم جواب بدید.

نظرات

پاسخ‌ها 2

sadeghbarout 11 سال پیش

ببین داداش سری فیبوناچی تشکیل میشه از جمع 2 جمله های قبلی  و جمله اول و دوم 1 هستن

فرض کن دوجمله قبلی رو همیشه (تاکید میکنم همیشه) میریزیم تو number1 , number2 و جمله جدید میشه nextNumber

جمله اول :1    (number1)

جمله دوم : 1     )number2)

جمله سوم : 1+1 = 2      (nextNumber)

حالا برای محاسبه جمله چهارم بایدجمله دوم و سوم رو جمع کنیم. پس جمله دومی رو میزیریم توی اولین مکانمون (number1) و جمله قبلی رو که همون جمله سومه که شده nextNumber رو میریزیم تو دومین مکانمون number2

و دوباره با جمع کردن همون دو مکانمون (number1 و number2) عدد بعدی ساخته میشه

 

به همین راحتی، به همین خوشمزگی ;)

نظرات

sajad98 11 سال پیش
این کدها رو حتما باید منطقش رو بلد باشم؟ اگه فقط حفظشون کنم اشکالی نداره؟
sadeghbarout 11 سال پیش
خب این که فقط یه کده. شما پس فردا میخوای برای یه منطق کد بنویسی. اونوقته که ممکنه گیر کنی !
ChookD1 9 سال پیش

سلام:

چرا در الگوریتم فیبوناچی ، در Eclipse ، عدد 43   ــُــم منفی میشود ؟ [عدد قابل نمایش در LOG]

int number1 = 1;
int number2 = 2;
for (int index = 0; index < 44; index++) {
int nextNumber = number1 + number2;
Log.i("LOG", "Res = " + nextNumber);
number1 = number2;
number2 = nextNumber;
}

 

نظرات


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