Cod sursa(job #271429)

Utilizator AnteusPatrascoiu Mihai Anteus Data 5 martie 2009 12:08:26
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.33 kb
#include <fstream.h>
#include <string.h>
ifstream fin("cifra.in");
ofstream fout("cifra.out");
int s,i,j,sw,k1,k,x,n,x1;
char a[101];
int main() {
fin>>n;
fin.get();
for (i=1;i<=n;i++)
	{
	x=0;
	fin.getline (a, 101);
	k=strlen(a);
	if (k==1)
		x=a[0]-'0';
	else
		for (j=k-2;j<=k-1;j++)
			x=x*10+a[j]-'0';
//	v[x]=x;
	x1++;
	s=0;
//	k=x;
	for (j=1;j<=x;j++)
		{
		k1=j%10;
		sw=0;
		if (k1==1 && sw==0)
		   {  s+=1;
			  sw=1;	}
		if (k1==2 && sw==0)
			{ if (j%4==1) s+=2;
			  if (j%4==2) s+=4;
			  if (j%4==3) s+=8;
			  if (j%4==0) s+=6;
			  sw=1;  }
		if (k1==3 && sw==0)
			{ if (j%4==1) s+=3;
			  if (j%4==2) s+=9;
			  if (j%4==3) s+=7;
			  if (j%4==0) s+=1;
			   sw=1;  }
		if (k1==4 && sw==0)
			{ if (j%2==1) s+=4;
			  if (j%2==0) s+=6;
			   sw=1;  }
		if (k1==5 && sw==0)
			{ s+=5;
			  sw=1; }
		if (k1==6 && sw==0)
			{ s+=6;
			  sw=1; }
		if (k1==7 && sw==0)
		{ if (j%4==1) s+=7;
		  if (j%4==2) s+=9;
		  if (j%4==3) s+=3;
		  if (j%4==0) s+=1;
		  sw=1;  }
		if (k1==8 && sw==0)
		{ if (j%4==1) s+=8;
		  if (j%4==2) s+=4;
		  if (j%4==3) s+=2;
		  if (j%4==0) s+=6;
		  sw=1;  }
		if (k1==9 && sw==0)
		{ if (j%2==1) s+=9;
		  if (j%2==0) s+=1;
		  sw=1;  }
		}
	if (x1==n)
		fout<<s%10;
	else
		fout<<s%10<<'\n';
	}
fin.close();
fout.close();
return 0;
}