Cod sursa(job #81399)
| Utilizator | Data | 1 septembrie 2007 20:34:25 | |
|---|---|---|---|
| Problema | Rsir | Scor | 0 |
| Compilator | c | Status | done |
| Runda | Arhiva de probleme | Marime | 0.61 kb |
#include<stdio.h>
int r1,r2,a,b,x,y,z,M;
long long r(int n)
{
if(n==0) return r1;
if(n==1) return r2;
return (a*r(n-2)*r(n-2))+(b*r(n-1)*r(n-1))+(x*r(n-2))+(y*r(n-1))+z;
}
int main()
{
int n,i,sir[2],rez;
FILE *f=fopen("rsir.in","r");
fscanf(f,"%i",&r1);
fscanf(f,"%i",&r2);
fscanf(f,"%i",&a);
fscanf(f,"%i",&b);
fscanf(f,"%i",&x);
fscanf(f,"%i",&y);
fscanf(f,"%i",&z);
fscanf(f,"%i",&M);
fscanf(f,"%i",&n);
sir[0]=r1;
sir[1]=r2;
for(i=2;i<=n;i++)
{
rez=(a*sir[0]*sir[0])+(b*sir[1]*sir[1])+(x*sir[0])+(y*sir[1])+z;
sir[0]=sir[1];
sir[1]=rez;
}
f=fopen("rsir.out","w");
fprintf(f,"%i",rez%M);
return 0;
}
