Advertisement
Guest User

Untitled

a guest
Apr 1st, 2015
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.60 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3.  
  4. using namespace std;
  5.  
  6.  
  7. int main(){
  8.  
  9.  
  10.     int n;
  11.     cout << "%d: ";
  12.     cin >> n;                   //ovo samo zamjenis s cin-om valda nezz koja je sintaksa tocno
  13.     int a,b,F_n;
  14.     int q=0;
  15.     a=b=F_n=1;                      //inicijaliziras sve na 1 u slucaju da je korisnik budala i za n unese jedan ili dva
  16.     for(int i=1;i<=n;i++){
  17.         if(i>=3){
  18.             F_n=a+b;                //znaci znas kak ide fibonaccijev niz 1 1 2 3 4 8 13 21 itd itd
  19.             if(q){                  //krecem od a=1 i b=1 dobivam da za n=3 F_n=1+1=2
  20.                 a=F_n;              //tu dvojku spremam u b, i ostaje mi da je a=1 i b=2           
  21.                 q=0;                //iducem koraku F_n za n=4 ce mi bit 1+2=3
  22.             }                       //tu trojku spremam sad u a pa mi ostaje a=3, b=2
  23.             else {                  //tako nastavljam naizmjenicno spremat dok ne dobim n-ti rezultat
  24.                 b=F_n;
  25.                 q=1;
  26.             }
  27.         }
  28.     }                               //posto mi treba (n-1)-vi rezultat također, znam da je on spremljen ili u a ili u b
  29.     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
  30.     cout << "\n%d %d" << a << F_n << endl;      //ispisem si to ovdje cisto da provjerim
  31.            
  32.     //i sad ostatak posla je izimod
  33.    
  34.     float rezultat, greska, provjera;
  35.    
  36.     rezultat=(float) F_n/a;
  37.    
  38.     provjera=(1+sqrt(5))/2;
  39.    
  40.     greska=rezultat-provjera;
  41.    
  42.     cout << "\nzlatni rez dobiveni: %.12f\nzlatni rez stvarni: %.12f\ngreska: %.12f" << rezultat << provjera << greska;
  43.     //sad nisam ziher kak se to u c++ radi al u c-u ak zelis naglasit da se nes ispise na x decimala onda
  44.     //to pises kao %.xf (%f je inace ispis varijable float na 6 decimala)
  45.     cout << ("\n\nMarkovic Petar, P05\n\n");
  46.  
  47.     return 0;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement