Pagini recente » Cod sursa (job #1664383) | Cod sursa (job #1231354) | Cod sursa (job #748145) | Cod sursa (job #1158557) | Cod sursa (job #317356)
Cod sursa(job #317356)
#include<stdio.h>
int a[3][3],x,y,z,n,b[3][3],c[3][3];
void matrice()
{
a[0][0]=0;
a[0][1]=1;
a[0][2]=0;
a[1][0]=0;
a[1][1]=0;
a[1][2]=1;
c[0][0]=0;
c[0][1]=1;
c[0][2]=0;
c[1][0]=0;
c[1][1]=0;
c[1][2]=1;
}
void inmultire(int m)
{
for (int i=0; i<3; ++i){
for (int k=0; k<3; ++k)
for (int j=0; j<m; ++j)
b[i][k]+=a[i][j]*c[j][k];}
for (int i=0; i<3; ++i)
for (int j=0; j<m; ++j)
a[i][j]=b[i][j];
}
void citire()
{
freopen("iepuri.in","r",stdin);
freopen("iepuri.out","w",stdout);
int t;
scanf("%d",&t);
while (t)
{
matrice();
scanf("%d%d%d%d%d%d%d",&x,&y,&z,&a[2][2],&a[2][1],&a[2][0],&n);
c[2][0]=a[2][0];
c[2][1]=a[2][1];
c[2][2]=a[2][2];
for (int i=1; i<n; ++i)
inmultire(3);
c[0][0]=x;
c[1][0]=y;
c[2][0]=z;
inmultire(1);
if (n%3==1)
printf("%d\n",a[0][0]);
else
if (n%3==2)
printf("%d\n",a[1][0]);
else
if (n%3==0)
printf("%d\n",a[2][0]);
--t;
}
}
int main()
{
citire();
return 0;
}