PDA

View Full Version : مشکل جواب در فیبوناچی



13ehr00z
چهارشنبه 19 مرداد 1390, 11:48 صبح
سلام ببخشید که سوالم ابتدایی هست من فیبوناچی رو از روی یه کد c++به c نوشتم ولی برنامه بعد از اجرا جواب درست نمیده ممنون میشم راهنمایی کنید

#include <iostream.h>
#include <conio.h >
#include <stdio.h>
main(){
int x=1;
int y=1,z=0;
int n;
printf("\n enter number:");
scanf("%d",&n);
printf("%d",&x);
printf("%d",&y);
for (int i=2;i<n;i++){
z=x+y;
x=y;
y=z;
printf("%d",z);
}
getch();
}

quiet_programmer
چهارشنبه 19 مرداد 1390, 13:41 عصر
با سلام.

کدت درسته و تنها جایی که مشکل داره این دو خطه:
printf("%d",&x);
printf("%d",&y);

شما بجای اینکه محتوای متغییر رو چاپ کنید آدرس اونرو چاپ کردید.
کد اصلاح شده:
#include <iostream.h>
#include <conio.h >
#include <stdio.h>
main()
{
int x=1;
int y=1,z=0;
int n;
printf("\n enter number:");
scanf("%d",&n);
printf("%d",x);
printf(",%d",y);

for (int i=2;i<n;i++)
{
z=x+y;
x=y;
y=z;
printf(",%d",z);
}
getch();
}

amir.bakhtiari
چهارشنبه 19 مرداد 1390, 14:53 عصر
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int x=1,g=1,z,k,n;


cout << "\n\nEnter N number:";
cin >> n;
n-=2;
cout << x << " " << g;
z = x + g;
cout << "\n " << z;
for(k=1;k<=n-1;k++)
{
x=g;
g=z;
z=x+g;
cout << "\n "<< z;
}




getch();
return 0;
}

Salar Ashgi
چهارشنبه 19 مرداد 1390, 23:09 عصر
دوست عزیز سعی کنید از کد های دیگران ایده بگیرید تا اینکه آنها را کپی - پیست کرده و آنها را حفظ کنید !

برای تولید سری فیبوناچی راه حل های زیادی هست :

* روش بازگشتی
* روش تکراری
* جمله عمومی سری فیبوناچی

موفق باشید ./

hamidhws
سه شنبه 01 شهریور 1390, 16:24 عصر
ببخشید که این سوالو اینجا میپرسم!
من زیاد از اصطلاحات ریاضی سر در نمیارم میخواستم بدونم منظور از فیبوناچی اینه؟
مثلا برای 5 :
15=5+4+3+2+1


ممنون

quiet_programmer
سه شنبه 01 شهریور 1390, 18:34 عصر
با سلام.

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

دو عدد اول دوتا یک هستن.
جمع یک و یک میشه دو بعد جمع دو با یک میشه سه بعد جمع دوعدد قبل یعنی سه و دو میشه پنج و الی آخر.

مثلا فیبوناچیه تا 5 مرحله میشه
1و1و2و3و5
یا تا مرحله 10
1و1و2و3و5و8و13و21و34و55

توضیح بیشتر: مثلا 55 از حاصل جمع دو عدد قبل از خودش بدست اومده 34+21
سوال برای تمرین: عدد بعد از 55 تو سری فیبوناچی چیه؟

hamidhws
سه شنبه 01 شهریور 1390, 22:56 عصر
سوال برای تمرین: عدد بعد از 55 تو سری فیبوناچی چیه؟
89?
__________________________________________________ ___________________________________
ممنون دوست عزیز حالا به این حالت توی ریاضی چی میگن؟(15=1+2+3+4+5=#5)

منظور از # یه علامت که همینجوری خودم گذاشتم میخواستم بدونم توی ریاضی به این حالت چی میگن؟ ممنون
(در واقع شبیه فاکتوریل هست فقط بجای ضرب جمع میشه)

quiet_programmer
چهارشنبه 02 شهریور 1390, 11:40 صبح
با سلام.

اسم خاصی نداره. بهش میگن مجموع اعداد متوالی. و فرمولش هم به این صورته:

مجموع اعداد یک تا n:

((n+1)*n)/2

مثلا برای عدد 10 میشه:
2/(11*10)=55 و همونطور که معلومه 1+2+3+4+5+6+7+8+9+10=55

developing
چهارشنبه 02 شهریور 1390, 15:57 عصر
با سلام
ببخشید فضولی می کنم ولی به مجموع اعداد یک تا n (یا به طور کل هر مجموعی از اعداد) سری گفته می شود.

اون فرمول هم، برای جمع اعداد یک تا n هست که با هم یک فاصله دارند(که به اونها دنباله هم می گویند.). و برای فرمول کلی پیشنهاد می کنم « دنباله ها و سری » رو که توی کلاس دوم دبیرستان هم هست مطالعه نمایید.

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

djsohrab2007
چهارشنبه 02 شهریور 1390, 17:18 عصر
سلام ،

بدست آوردن فرمول جمع اعداد که تشکیل یک سری را می دهند :

فرض کنید اولین عدد a باشد و عدد بعدی a+d و عدد بعدی a+2d ( اصطلاحا می گند قدر نسبت برابر d است ) یعنی سری n تایی ما به این صورت است :

a , a+d , a+2d , a+3d , ... , a + (n-1)d

برای حساب کردن مجموع این n عدد به صورت زیر عمل کنید :



(a) + ( a+(n-1) d ) = 2a + (n-1)d
(a+1) + ( a + (n-2)d ) = 2a+(n-1)d
.
.
.
(a+(n-1)d) + a = 2a + (n-1)d



در حقیقت جمله اول سری را به جمله آخر و جمله دوم سری را به جمله یکی مانده به آخر و... جمع کردیم.

همانطور که مشاهده می کنید n/2 تا جمله 2a + (n-1)d بدست آمد پس مجموع n جمله اول سری برابر

(n/2)*(2a+(n-1)d)
می شود.

بنابراین اگر جمله آخر را b و جمله اول هم که a بود و تعداد جملات n باشد ، مجموع n جمله برابر است با :

(n/2)*(a+b)

djsohrab2007
چهارشنبه 02 شهریور 1390, 17:38 عصر
من این فاصله ها را توی بخش ویرایش درست تنظیم کردم ولی نمی دونم چرا اینجا که میاد میریزه بهم ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟
یکی ندونه فکر میکنه دستم رو space گیر کرده !!!!!!!!!!!!!!!!!!!!!!