Pagini recente » Cod sursa (job #1181639) | Cod sursa (job #2564843) | Cod sursa (job #1165045) | Cod sursa (job #2870906) | Cod sursa (job #1780943)
#include <fstream>
using namespace std;
ifstream fin("kfib.in");
ofstream fout("kfib.out");
int v[2]={0,1}, m[2][2]={{0,1},{1,1}}, m2[2][2]={{1,0},{0,1}};
int v_aux[2], m_aux[2][2];
int main () {
int n;
fin>>n;
if (n==0) {
fout<<"0\n";
} else {
for (int a=1; a<=n-1; a++) {
for (int i=0; i<2; i++) {
for (int j=0; j<2; j++) {
m_aux[i][j]=0;
for (int k=0; k<2; k++) {
m_aux[i][j]+=m2[i][k]*m[k][j];
}
}
}
for (int i=0; i<2; i++) {
for (int j=0; j<2; j++) {
m2[i][j]=m_aux[i][j];
}
}
}
for ( int j = 0; j < 2; ++ j ) {
v_aux[j] = 0;
for ( int k = 0; k < 2; ++ k ) {
v_aux[j] += v[k]*m2[k][j];
}
}
fout << v_aux[1] << "\n";
}
return 0;
}