Cod sursa(job #95747)
#include <fstream.h>
#include <stdlib.h>
#include <iostream.h>
#include <string.h>
fstream f("cifra.in",ios::in),g("cifra.out",ios::out);
int n,v[100],i,c; char a[102],*p;
int putere()
{int k=1,pt=1;
while(k<=i) {pt=pt*i; pt%=10; k++;}
return pt;}
int generare()
{int var;
for(i=1;i<80;i++)
{c=i%10;
if(c==0 || c==1 || c==5 || c==6) {v[i]=(v[i-1]+i)%10;}
else
{var=putere();
v[i]=(v[i-1]+var)%10;}}
}
int algoritm(char *vct)
{n=atoi(vct); n%=100;
g<<v[n]<<endl;}
main()
{
v[80]=0; v[81]=0; v[82]=0; v[83]=0; v[84]=0; v[85]=0; v[86]=0; v[87]=0; v[88]=0; v[89]=0;
v[90]=0; v[91]=0; v[92]=0; v[93]=0; v[94]=0; v[95]=0; v[96]=0; v[97]=0; v[98]=0; v[99]=0;
generare(); f.getline(a,102);
while(f.getline(a,102))
{
if(strlen(a)>5) {p=&a[strlen(a)-3]; algoritm(p);}
else algoritm(a); }
}