Pagini recente » Cod sursa (job #1274858) | Cod sursa (job #687966) | Cod sursa (job #1244892) | Istoria paginii runda/sim0004 | Cod sursa (job #340331)
Cod sursa(job #340331)
Utilizator |
Zethpix Zethpix |
Data |
14 august 2009 11:58:09 |
Problema |
Koba |
Scor |
0 |
Compilator |
cpp |
Status |
done |
Runda |
w3 |
Marime |
0.94 kb |
#include <stdio.h>
long s,a,b,c,d,n,i,sum,nr,p,p1,p2,v[1001];
int main(){
FILE *f,*g;
f=fopen("koba.in","r");
g=fopen("koba.out","w");
fscanf(f,"%ld%ld%ld%ld",&n,&a,&b,&c);
a%=10;b%=10;c%=10;
for(i=0;i<=999;i++) v[i]=0;
v[a*100+b*10+c]=1;
s=a+b+c;
for(i=2;i<=n-2;i++){
d=(c+(b*a)%10)%10;
a=b;
b=c;
c=d;
s+=c;
if(v[a*100+b*10+c]==0) v[a*100+b*10+c]=i;
else{
p1=a*100+b*10+c;
s-=c+b+a;
p2=p1;
break;
}
}
sum=p1/10%10+p1/100;
nr=0;
p=p1;
int ok=1;
while(p1!=p2||ok){
if(ok) ok=0;
sum+=p1%10;
c=p1%10;
p1/=10;
b=p1%10;
p1/=10;
a=p1%10;
d=(c+(b*a)%10)%10;
a=b;
b=c;
c=d;
p1=a*100+b*10+c;
nr++;
}
sum-=a+b+c;
n-=2;
i=v[p2];
s+=((n-i)/nr)*sum;
a=p%10;
p/=10;
b=p%10;
p/=10;
c=p%10;
for(i=n-(n-i)%nr;i<=n;i++){
d=(c+(b*a)%10)%10;
s+=d;
a=b;
b=c;
c=d;
}
fprintf(g,"%ld\n",s);
fclose(f);
fclose(g);
return 0;
}