تمرین==> حل مسئله ی فیبوناچی

پرسیده شده
فعالیت 928 روز پیش
دیده شده 370 بار
0

۱. شروع

۲. عدد را از ورودی بگیر و در متغیر number ذخیره کن.

۳.متغیر های i,f,j=۰ و m=۱ ایجاد کن.

۴. اگر number بزرگتر از ۰ و کوچکتر یا مساوی ۲ باشد مقدار ۱ را چاپ کن و اگر number  برابر با ۰ باشد مقدار ۰ را چاپ کن و به مرحله ی آخر برو.

۵.اگر عدد بزرگتر از ۲ باشد مقدار f  را حاصل جمع  m و j قرار بده.

۶.مقدار j را برابر با m قرار بده .

۷.مقدار m را برابر با f قرار بده.

۸. مقدار i  را یک واحد افزایش بده.

۹. اگر number بزرگتر از i  باشد به مرحله ۵ برو.

۱۰. مقدار f را چاپ کن.

۱۱. پایان

فایل پیوست

Navid JN
Navid JN

18 مهر 00

0
حذف شده

جواب کامنت:

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

سلااااااااااااااااام

حتما. اگر الگوریتمی که نوشتی رو تبدیل به کد کنیم. فک میکنم همچین کدی میشه:

# Navid Algorithm
number = int(input("Enter number:"))
i = f = j = 0
m = 1
if 0 < number <= 2:
    print(1)
elif number == 0:
    print(0)
if number > 2:
    while number > i:
        f = m + j
        j = m
        m = f
        i += 1
    print(f)

مساله الگوریتم ات رو درست تشخیص دادی. حقله ای که تو الگوریتم تعریف کردی یه بار بیشتر از چیزی که لازمه میچرخه (کار میکنه).

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

فایل پیوست

محمدعلی رضا

توسط

محمدعلی رضا

20 مهر 00

0
حذف شده

سلاااااااااااااااااام نوید جان

آفرین. خوبه. کلیتش درسته.

الگوریتم ات رو Trace کردم. تبدیلش هم کردم به کد. (اگر خواستی بگو کدش رو بذارم.)

مرحله 9 الگوریتم نیاز به اصلاح داره.

روش فکر کن و اصلاحش کن. اگر به number مقدار بدی و الگوریتم رو Trace کنی اشتباهش رو پیدا میکنی. مثلا بهش مقدار 5 یا 6 رو بده و خط به خط ببین چه اتفاقی میوفته.

فایل پیوست

محمدعلی رضا

توسط

محمدعلی رضا

19 مهر 00

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

19 مهر 00