Cod sursa(job #1529519)

Utilizator ionutmodoModoranu Ionut-Vlad ionutmodo Data 20 noiembrie 2015 23:20:05
Problema Al k-lea termen Fibonacci Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
/*
	http://www.infoarena.ro/problema/kfib
*/

#define INPUT "kfib.in"
#define OUTPUT "kfib.out"

#define GOLDEN1  ((1 + sqrt(5)) / 2.0)
#define GOLDEN2 ((1 - sqrt(5)) / 2.0)

#include <fstream>
#include <cmath>
using namespace std;

int k, xk;

void read(void)
{
	ifstream fin(INPUT);
	fin >> k;
	fin.close();
}

void solve(void)
{
	double pow1 = pow(GOLDEN1, k);
	double pow2 = pow(GOLDEN2, k);
	xk = (int)((pow1 - pow2) / sqrt(5));
}

void write(void)
{
	ofstream fout(OUTPUT);
	fout << xk << "\n";
	fout.close();
}

int main(void)
{
	read();
	solve();
	write();
	return 0;
}