Параграф Programa hacer sucesión de Fibonacci никакой da resultado esperado

Resulta que el programa que он elaborado параграф hacer la sucesión de Fibonacci n недостатки - доблесть ingresado por el usuario-я da el siguiente resultado erróneo:

(139) удар: строка 1: 22 Сделанных отказа сегментации printf '12' 23 (выведенное ядро) |./программировать

Adjunto el código:

#include 
#include 
using namespace std;
int fibonacci(int n, int i);
int main(){
  int n;
  cin >> n;
  for(int i=0; i

2
задан 21.12.2019, 00:12
2 ответа

Программа дает тебе excepciГіn, потому что он входит в бесконечный цикл, и не уменьшив n программу остается без памяти, так как всегда entrarГЎ в Гєltimo else и не saldrГЎ когда бы то ни было.

4
ответ дан 21.12.2019, 12:13

Дополняя Комментарий Chariot я показываю тебе осуществление исправлений, которые раньше упомянули о тебе:

#include <iostream>
#include <string>
using namespace std;
int fibonacci(int n);

int main(){
int n;
cin >> n;
for(int i=0; i<n; i++){
    cout << fibonacci(i) << ' ';
 }
}

int fibonacci(int n){
  if (n == 0){
   return 0; 
  }
  else if (n == 1){
   return 1; 
  }
  else{
   return fibonacci(n - 1) + fibonacci(n - 2);  
  }
}

типов Привета, я надеюсь, что они подают тебя.

2
ответ дан 21.12.2019, 12:13
  • 1
    truquito, чтобы делать это более работоспособным, состоит в том, чтобы создавать словарь, чтобы хранить уже исчисленные последовательности и быть должным вновь не делать вычисление! – Bryro 21.12.2019, 01:12