Pagini recente » Istoria paginii utilizator/bucur_radu | Grigore Moisil 2009 | Istoria paginii utilizator/wolfyy13x | Istoria paginii utilizator/tonyyy_14 | Cod sursa (job #2736698)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("koba.in");
ofstream fout ("koba.out");
int f[1005];
int s[1005];
int n, a, b, c, d, pas;
int sol, cat, rest;
int main (){
fin>>n>>a>>b>>c;
a%=10;
b%=10;
c%=10;
s[1]=a;
s[2]=a+b;
s[3]=a+b+c;
pas=4;
while(f[a*100 + b*10 + c] == 0){
f[a*100 + b*10 + c]=pas-3;
d=(a*b+c)%10;
a=b;
b=c;
c=d;
s[pas]=s[pas-1] + c;
pas++;
}
pas-=4;
if(n <= pas)
fout<<s[n];
else{
///de la 1 la f[d]-1 e normal
///de la f[d] la pas este bucla
d=a*100 + b*10 + c;
n -= (f[d]-1);
cat = n / (pas-f[d]+1);
rest= n % (pas-f[d]+1);
sol=s[f[d]-1] + cat * (s[pas] - s[f[d]-1]) + (s[f[d]-1+rest] - s[f[d]-1]);
fout<<sol;
}
return 0;
}