Pagini recente » Cod sursa (job #1545655) | Clasament casi | Cod sursa (job #1349561) | Cod sursa (job #1798672) | Cod sursa (job #47835)
Cod sursa(job #47835)
#include <fstream.h>
#include <iostream.h>
#include <math.h>
ifstream f("cifra.in");
ofstream g("cifra.out");
struct cifra
{
cifra *next;
long x,i;
}*p,*u;
void add(int x)
{
if (!p)
{
p=new cifra;
p->i=1;
p->x=x;
p->next=0;
u=p;
}
else
{
cifra *c=new cifra;
c->i=u->i+1;
c->x=(u->x+x)%10;
c->next=0;
u->next=c;
u=c;
}
}
void tip(long poz)
{
cifra *c=p;
while (c)
{
if (c->i==poz)
{
g<<c->x<<"\n";
break;
}
c=c->next;
}
}
int ultim(long x)
{
long aux=x%10,a=x,cat=aux,i;
x%=10;
for (i=1;i<=a;i++)
{
x=x*a;
if (x%10==aux) break;
}
cat=(x/a)%10;
return cat;
}
int main()
{
long aux,t,n,i,j,u1,s;
char cn='0',au[3]={'0','0','0'};
f>>t;
f.get();
for (i=1;i<=t;i++)
{
n=0;s=0;
au[0]=au[1]=cn='0';
do
{
au[0]=au[1];
au[1]=cn;
f.unsetf(ios::skipws);
f.get(cn);
}
while (cn!='\n'&&!f.eof());
n=n*10+(au[0]-'0');
n=n*10+(au[1]-'0');
// u1=au[1]-'0';
for (j=1;j<=n;j++)
{
s+=pow(j%10,j);
s=s%10;
}
g<<s<<"\n";
/*for (j=max;j<=n;j++)
{
aux=ultim(j);
add(aux);
}
if (j>max) {max=j;g<<u->x<<"\n";}
else
tip(n);*/
}
f.close();
g.close();
return 0;
}