Pagini recente » Cod sursa (job #170730) | Cod sursa (job #454624) | Cod sursa (job #1560803) | Cod sursa (job #2438965) | Cod sursa (job #17254)
Cod sursa(job #17254)
#include<stdio.h>
#include<math.h>
FILE *f;
struct nod
{
long info;
nod *urm;
} ;
int s[10000];
nod *prim,*ultim;
int main()
{
nod *p;
prim=NULL;
int T;
int i,c,a;
f=fopen("cifra.in","r");
fscanf(f,"%d",&T) ;
long max=0,x;
for(i=1;i<=T;i++)
{
fscanf(f,"%ld",&x);
p=new nod;
p->info=x;
p->urm=NULL;
if(prim==NULL)
prim=ultim=p;
else
{
ultim->urm=p;
ultim=p;
}
if(x>max)
max=x;
}
fclose(f);
s[0]=0;
for(i=1;i<=max;i++)
{
c=i%10;
int p;
if(c==2||c==3||c==7||c==8)
{
a=i%4;
if(a==0) a=4;
p=c;
while(a-1)
{
c=p*c;
c=c%10;
a--;
}
}
else
if(c==4||c==9)
{
a=i%2;
if(a==0) a=2;
p=c;
while(a-1)
{
c=p*c;
c=c%10;
a--;
}
}
s[i]=s[i-1]+c;
if(s[i]>10)
s[i]-=10;
}
f=fopen("cifra.out","w");
p=prim;
while(p)
{
fprintf(f,"%d\n",s[p->info]);
p=p->urm;
}
fclose(f);
return 0;
}