Pagini recente » Borderou de evaluare (job #1330204) | Borderou de evaluare (job #2799765) | Borderou de evaluare (job #2471452) | Cod sursa (job #3235878) | Cod sursa (job #2652365)
#include <iostream>
#include <fstream>
using namespace std;
ifstream si("koba.in");
ofstream so("koba.out");
long long s[1005][32], nxt[1005][32];
int main() {
for(int i=0; i<1000; ++i) {
nxt[i][0]=(10*i+((i/100)*(i/10)+i)%10)%1000;
s[i][0]=i/100;
}
for(int x=1; x<32; ++x)
for(int i=0; i<1000; ++i) {
nxt[i][x]=nxt[nxt[i][x-1]][x-1];
s[i][x]=s[i][x-1]+s[nxt[i][x-1]][x-1];
}
int n;
int x, y, z;
si>>n>>x>>y>>z;
long long sum=0;
int st=100*(x%10)+10*(y%10)+z%10;
for(int i=0; n ; ++i, n>>=1)
if(n&1) {
sum+=s[st][i];
st=nxt[st][i];
}
so<<sum<<'\n';
return 0;
}