nietypowy ciąg Fibbonaciego//opisana metoda
Ostatnio zmodyfikowano 2017-10-18 21:40
jedimaster Temat założony przez niniejszego użytkownika |
nietypowy ciąg Fibbonaciego//opisana metoda » 2017-10-18 21:36:08 Witajcie! Mam problem z poniższym zadaniem,
Znaleźć najmniejsze wyrazy początkowe zamiast 1,1 aby w ciągu analogicznym do ciągu Fibonacciego wystąpił w nim wyraz równy numerowi bieżącego roku.
METODA: a i b to kolejne następujące po sobie elementy ciągu, w dwóch pętlach for chciałem przetestować wszystkie możliwe przypadki, czyli gdy ciąg zaczyna się od różnych dwóch liczb z przedziałów (0,2018) i (1,2018), bo oczywiście zakładam, że oba pierwsze wyrazy ciągu nie mogą być zerami, gdyż to nie miałoby sensu (suma zer to zawsze zero), jak widać b staje się ostatnim utworzonym wyrazem ciągu, natomiast a jest poprzedzającym go wyrazem. Wypisanie "i" i "j" to tak naprawdę wypisanie dwóch początkowych wyrazów ciągu, gdyż są one przypisywane wyrazom a i b.
A oto mój kod:
#include <iostream>
using namespace std;
int main() { int a,b; int c; a=0; b=1; for(int i=1; i<2018; i++) { b=i;
for(int j=0;j<2018;j++) { a=j; while(a<2018) {
c=b; b=b+a; a=c; if(b==2017) { cout<<i<<", "<<j<<endl; }
}
}
}
return 0; }
//nie mam pojęcia, co może być tu nie tak, bo zauważyłem, że jeśli ustawię w "int i=..." pewną wartość to wyszukuje tylko dla niej np gdy jest to jak tutaj zero to wynik to 2017, 0 i nie szuka dalej, a wiadomo może to być np. 2016,1 itd.
|
|
YooSy |
» 2017-10-18 21:40:29 Skorzystaj z debuggera. |
|
« 1 » |