Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- using namespace std;
- int main(){
- int n;
- cout << "%d: ";
- cin >> n; //ovo samo zamjenis s cin-om valda nezz koja je sintaksa tocno
- int a,b,F_n;
- int q=0;
- a=b=F_n=1; //inicijaliziras sve na 1 u slucaju da je korisnik budala i za n unese jedan ili dva
- for(int i=1;i<=n;i++){
- if(i>=3){
- F_n=a+b; //znaci znas kak ide fibonaccijev niz 1 1 2 3 4 8 13 21 itd itd
- if(q){ //krecem od a=1 i b=1 dobivam da za n=3 F_n=1+1=2
- a=F_n; //tu dvojku spremam u b, i ostaje mi da je a=1 i b=2
- q=0; //iducem koraku F_n za n=4 ce mi bit 1+2=3
- } //tu trojku spremam sad u a pa mi ostaje a=3, b=2
- else { //tako nastavljam naizmjenicno spremat dok ne dobim n-ti rezultat
- b=F_n;
- q=1;
- }
- }
- } //posto mi treba (n-1)-vi rezultat također, znam da je on spremljen ili u a ili u b
- if(a>b) a=b; //nisam siguran u kojem je ali znam da je MAKS(a,b)=c, znaci manji od ta dva broja je broj koji trazim
- cout << "\n%d %d" << a << F_n << endl; //ispisem si to ovdje cisto da provjerim
- //i sad ostatak posla je izimod
- float rezultat, greska, provjera;
- rezultat=(float) F_n/a;
- provjera=(1+sqrt(5))/2;
- greska=rezultat-provjera;
- cout << "\nzlatni rez dobiveni: %.12f\nzlatni rez stvarni: %.12f\ngreska: %.12f" << rezultat << provjera << greska;
- //sad nisam ziher kak se to u c++ radi al u c-u ak zelis naglasit da se nes ispise na x decimala onda
- //to pises kao %.xf (%f je inace ispis varijable float na 6 decimala)
- cout << ("\n\nMarkovic Petar, P05\n\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement