0
1
#include <stdio.h>


int main()
{
    int i,f0=0,f1=1,fibo;
    printf("The fibonacci serise is\n");
    for(i=1;i<=15;i++)
    {
        fibo=f0+f1;
        printf("%d\n",fibo);
        ;
        f0=fibo;
    }
    return 0;
}

asked 26 Dec '15, 19:03

mehedisam's gravatar image

mehedisam
212

edited 26 Dec '15, 19:52

Tamanna%20Nishat%20Rini's gravatar image

Tamanna Nishat Rini ♦♦
3.0k312


ফিবোনাক্কি সিরিজের বৈশিষ্ট্য হলো এর n তম পদটি আগের দুইটি ফিবোনাক্কি সংখ্যার যোগফল। যেমনঃ 1,1,2,3,5,8,13,21..........। খরগোসের বাচ্চা এবং বিভিন্ন গাছের শাখা-প্রশাখার বিস্তার এই সিকোয়েন্সটা অনুসরণ করে তাই এটাকে ম্যাথমেটিশিয়ানরা 1 থেকেই শুরু করেন। খেয়াল করে দেখো এই সিরিজের ৩য় টার্মটা 2 যেটি প্রথম দুইটা টার্ম 1+1 = 2 , ৪র্থ টা 1+2 =3 . এখন কোড করার সময় তুমি প্রথম দুইটা টার্ম ঠিকই যোগ করেছো কিন্তু প্রতিবার লুপ চলার পর যে f0, f1 এর মান বদলে যাচ্ছে সেটার জন্য কিছু কর নাই। for loop এর অংশটা যদি এভাবে লেখোঃ

        fibo=f0+f1;
        f0 = f1;
        f1 = fibo;
        printf("%d\n",fibo);

এখানে প্রথম f1 , f0 এর initialize করা মান দুটো নিবে যেখানেঃ

  • f0 =1 এবং f1 = 1 ;
  • fibo = f0 + f1 = 1 + 1 = 2;
  • f0 = f1 ; যেহেতু f1 এর মান 1 তাই f0 এর আপডেটেট মান এখন 1
  • f1 = fibo ; fibo এর মান আমরা উপরে পেয়েছি 2 তাহলে এখন f1 এর updated মান হবে 2
  • পরেরবার যখন লুপটা চলবে তখন f0,f1 এর updated মান আমরা পাচ্ছি f0 = 1, f1 = 2 তখন fibo = f0 + f1 = 3 হবে, যেটা ফিবোনাক্কি সিরিজের ৪র্থ টার্ম। এভাবে করে লুপের কাজটা চলতে থাকবে 15 পর্যন্ত। প্রতিবার f1,f0 এর মান আপডেট হবে।

ফাইনালি তোমার কোডটা হবে এমনঃ

    int i,f0=1,f1=1,fibo=0;
    printf("The fibonacci serise is\n%d\n%d\n",f0,f1); // প্রথম দুইটা ফিবোনাক্কি নাম্বার প্রিন্ট করা হয়েছে
    for(i=2;i<15;i++) // দুইটা নাম্বার আগেই প্রিন্ট করার কারণে লুপটা 2 থেকে শুরু করা হয়েছে 
    {
        fibo=f0+f1;
        f0 = f1;
        f1 = fibo;
        printf("%d\n",fibo);

    }
permanent link

answered 26 Dec '15, 20:25

Tamanna%20Nishat%20Rini's gravatar image

Tamanna Nishat Rini ♦♦
3.0k312

#include <stdio.h>


int main()
{
    int i,f0=0,f1=1,fibo;
    printf("The fibonacci serise is\n");
    for(i=1;i<=15;i++)
    {
        //printf("Now: F0 = %d and F1= %d\n",f0,f1);
        fibo=f0+f1;
        printf("%d\n",fibo);
        f0=f1;
        f1=fibo;
    }
    return 0;
}

প্রথমত আপনার কোডে ভুল ছিল। যদি Fibonacci Algorithm বুঝে থাকেন তবে অবশ্যয় জানবেন আমরা দুটো variable ধরি যেখানে প্রথম variable (ধরি f0 ) = 0 ও দ্বিতীয় variable (ধরি f1 )= 1 ধরে নেই। এরপর দুটো variable যোগ করে যোগফল (ধরি fibo) তে রেখে দেই।

এরপর দ্বিতীয় variable f1 এর মান প্রথম variable f0 তে সেভ করি। এরপর যোগফল fibo এর মান f1 এ সেভ করি।

এরপর একই প্রক্রিয়া চলতে থাকে। fibo=f0+f1 এরপর f0=f1 এরপর f1=fibo এরপর আবার fibo=f0+f1 এভাবে আগাতে থাকে এবং আমরা fibo এর মান প্রিন্ট করতে থাকি।

আমার কোড বুঝতে সমস্যা হলে দেখুন আমি একটি লাইন কমেন্ট করে রেখেছি কোডে। ওই লাইন কমেন্ট উঠিয়ে দিলে প্রতি স্টেপে f0 এবং f1 এর মান দেখতে পাবেন। আশা করি সহজে বুঝতে পারবেন।

permanent link

answered 26 Dec '15, 20:31

Kaiser%20Ahmed's gravatar image

Kaiser Ahmed
3.2k522

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×212
×70

question asked: 26 Dec '15, 19:03

question was seen: 1,039 times

last updated: 26 Dec '15, 20:31