Pagini recente » Monitorul de evaluare | Infoarena Monthly 2014, Clasament Runda 2 | Cod sursa (job #1972574) | Monitorul de evaluare | Cod sursa (job #171053)
Cod sursa(job #171053)
#include<fstream.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
int main()
{
int i,t,a,d,b,j;
char s[102],c[3];
ifstream f("cifra.in");
ofstream g("cifra.out");
f>>t;
for (i=1;i<=t;i++)
{
f>>s;
if (strlen(s)<=2) strcpy(c,s);
else {c[0]=s[strlen(s)-2];c[1]=s[strlen(s)-1];c[2]=0;}
a=atoi(c); //in a am ultimele 2oua cifre ale nr
d=(a/10)*7; //in d calculez suma cifrelor
j=a%10;
for (b=1;b<=j;b++)
if (b==1 || b==5 || b==6) d=(d+b)%10;
else {
a=b%4;
if (a==0) a=4;
d=(d+(int)pow(b,a))%10;
}
g<<d<<"\n";
}
g.close();
f.close();
return 1;
}