0 / 0 / 1
Регистрация: 15.11.2017
Сообщений: 96
1

Исправление кода C++

14.05.2018, 20:57. Показов 1160. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно решить задание с Фибоначчи (двумя способами):

Динамический:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<iostream>
using namespace std;
long long F(int n)
{
long long F[81];
F[0] = 0;
F[1] = 1;
for (int i=2; i<=n; i++)
F[i] = F[i-1] + F[i-2];
return F[n];
}
int main()
{
int i;
cin>>i;
cout<<F(i)<<endl;
return 0;
}
Через рекурсию:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include<iostream>
using namespace std;
 
int F(int n) {
if (n==0) return 0;
if (n==1) return 1;
else return F(n - 1) + F(n - 2);
}
int main()
{
int i;
cin>>i;
cout <<F(i) << endl;
return 0;
}
Кажется, cчитает прилично, но сервер ни того, ни другово не принимает, показывает "RTE" - Run Time Error. Что делать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.05.2018, 20:57
Ответы с готовыми решениями:

Исправление кода. Функция по нахождение суммы между мин и макс показателями массива. Корректировка кода
Прошу помощи. Написал программку, проблема состоит в функции summ в ней происходит нахождение...

Исправление кода C++
Надо сделать чтоб если в ответе есть одинаковых чисел, написать только один из них #include...

Исправление кода C++
#include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; void read(){ int a,n; ...

Исправление кода
Суть в чем... Программа должна запускать консоль, я там ввожу текст и он отправляется в созданный...

5
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
14.05.2018, 22:23 2
DellXT, сформулируйте условие задачи
0
0 / 0 / 1
Регистрация: 15.11.2017
Сообщений: 96
14.05.2018, 22:29  [ТС] 3
Yetty,
Обоим то самое :F(0) = 0, F(1) = 1, F(n) = F(n − 1) + F(n − 2).
Только интервал для рекурсии [0;30], а для динамического [0;80].
Цель - найти n-й элемент последовательности.
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
14.05.2018, 22:39 4
Эта Фибоначчи по разному может начинаться, соответственно будут разные значения для i-ого. Попробуйте так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream> 
using namespace std;
 
int f(int n) 
{
    if ( n == 1 || n == 2) return (n -1); 
    return f(n-1) + f(n-2); 
}
 
int main()
{
    int i;    
    cout << "i="; cin >> i;      
    cout <<f(i)<<" ";    
    cout <<endl;
system("pause");
return 0;
}
0
0 / 0 / 1
Регистрация: 15.11.2017
Сообщений: 96
14.05.2018, 22:51  [ТС] 5
Yetty, пробовал и так, но если честно, то оно при таких условий правильные ответы выдает:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
int f(int n)
{
    if ( n == 0 || n == 1) return n;
    return f(n-1) + f(n-2);
}
 
int main()
{
    int i;
    cin >> i;
    cout <<f(i)<<" ";
    cout <<endl;
}
0
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
15.05.2018, 00:00 6
Цитата Сообщение от DellXT Посмотреть сообщение
оно при таких условий правильные ответы выдает:
я уже говорил, что последовательность Фибоначчи может начинаться по-разному - так: 1, 1, 2, 3, 5, 8... и так:
0, 1, 1, 2, 3, 5, 8... соответственно и коды для нахождения i-ого числа могут отличаться. Вы лучше скажите, предложенный код тоже ошибку выдаёт ?
0
15.05.2018, 00:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2018, 00:00
Помогаю со студенческими работами здесь

Исправление кода с векторами. Повторяющиеся члены
Помогите исправить ошибку. #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;vector&gt;...

Динамический массив: вычислить сумму элементов главной и побочной диагоналей (Исправление кода)
я скатал у друга готовую задачу и преподаватель решил на защиту изменить мне условие #include...

Исправление кода игры "Змейка"
Добрый вечер, помогите исправить код(игра змейка), на данный момент когда запускаю игру, появляется...

Исправление
Написал данную программу #include &lt;iostream&gt; using namespace std; int main() { int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru