Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Having trouble printing a series

Here’s the problem statement for what I’m supposed to do:

  1. Write a program to print the following series up to the term input by user.
    0, 1, 1, 2, 3, 5, 8, 13, ….
    Where 0 is 1st term and 13 is 8th term.
    Hint: 0, 1
    0+1 = 1
    0, 1, 1
    1+1 = 2
    0, 1, 1, 2

And here’s my code:

int prev_i = 0;


    cout << "Enter a number: " << endl;
    cin >> number;

    for (i = 0; i <= number; i++)
    {
        
        cout << prev_i + i << " ,";
        
        prev_i = i;
        
    }

I do get what is wrong with my code though. It adds i to prev_i then prev_i is set to i. So in the next iteration when i is 1 thats i + prev_i = 1 so now prev_i = 1 and here’s the problem i is 2 now so i + prev_i = 3. And I really can’t seem to figure out how to get 1 instead of 3 as the output here and so on.

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

Oh and don’t worry about i not declared properly. I just didn’t copy that part.

pls help!

>Solution :

You’re trying to generate a fibonacci sequence (starts with two terms (0,1), and each subsequent term is the addition of the prior two). Therefore, i should not be part of the calculation; it is only there to control looping.

A simple generation of the first ten numbers in the sequence is simply this:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a=0, b=1;
    for (int i=0; i<10; ++i)
    {
        printf("%d ", a);
        int c = a+b;
        a = b;
        b = c;
    }
    fputc('\n', stdout);

    return EXIT_SUCCESS;
}

That’s it. The code above will generate the following:

0 1 1 2 3 5 8 13 21 34 

I leave applying the above logic to generate whatever your final requirements are up to you, but that’s how the sequence is iteratively generated.

PS: Apologies in advance for writing C code. I totally spaced the language tag, but nonetheless the algorithm is the same.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading