Loading...
MuhataCece04 avatar MuhataCece04 0 Точки

Моля ви помогнете ми с този код!

Здравейте! Имах за задача да напиша един код, използвайки цикълът WHILE, но просто не мога да измисля решението. Може ли да помогнете? 

Ето я задачата: 

Задача Фибоначи 

Числата на Фибоначи се получават по следния начин: първите две числа са равни на единица, а всяко следващо е равно на сумата на предходните две. Например първите десет числа на Фибоначи са 1, 1, 2, 3, 5, 8, 13, 21, 34, 55. 

Напише програма fib, която при въведено число N>3 извежда редица от числата на Фибоначи ненадвишаващи N. Намерете броя на тези числа.

Вход От първия и единствен ред на стандартния вход се въвежда цяло число N.

Изход На един ред на стандартния изход програмата трябва да изведе числата на Фибоначи по-малки от N с интервал между тях и под тях броят им.

Пример:

вход: 27

изход: 1 1 2 3 5 8 13 21

           8 

Благодаря предварително! 

Тагове:
0
Programming Basics
VasilKotsev avatar VasilKotsev 830 Точки

Защо ти е да използваш while цикъл след като имаш точно зададена бройка числа от редицата, които да изведеш ?

Сещам се за три начина по-които съм решавал задачи свързани с редицата на фибоначи. Малко ги рефакторирах да работят с даденото условие: Решение №1(Simple For loop), Решение №2 (List), Решение със Stack и Queue. Би трябвало сам да можеш да имплементираш поне първото решение на C++. Възможно е и с рекурсия да се подходи. Като цяло алгоритъма не е нещо сложно, по-скоро това как ще пазиш числата и дали редицата започва от 0 или 1.

 

0
The_assassin avatar The_assassin 158 Точки

Здрасти! Как е „даскалото“? ;-)
Ето ти един код, обаче трябва да си го оправиш там където има ????. Ако има нещо неясно, питай!

#include <iostream>
using namespace std;

int main()
{
    //   V–първото,    V–второто,     V–следващото,  V–познай! ;-)
    int frst_nbr = 1, scnd_nbr = 1, next_nbr = 2, counter = 2, n;

    cout << "Enter a positive number: ";
    cin >> n;

    // Първите две се принтират, тъй като винаги са единици.
    cout << frst_nbr << " " << scnd_nbr << " ";

    while(next_nbr <= n)
    {
     //  VVVV––Тука липсва нещо, добави го!
        ?????;
        cout << next_nbr << " ";
        frst_nbr = ?????;
        scnd_nbr = ?????;
        next_nbr = ????? ?????;
    }
    cout << endl << ????? << endl;
    return 0;
}

 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.