Cod sursa(job #231944)

Utilizator IsTeeSzasz Istvan IsTee Data 14 decembrie 2008 15:35:35
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include<fstream.h>
#include<string.h>
#include<stdlib.h>

int a[20];

void aa() {
for(int i=0; i<=19; i++)
		switch(i%10)  {
			case 2:	 {	if(i%4==2)	a[i]=4;
					else		a[i]=6;
					break;  }
			case 3:  {	if(i%4==1) 	a[i]=3;
					else            a[i]=7;
					break;  }
			case 4:	 {	if(i%2==1)	a[i]=4;
					else 		a[i]=6;
					break;  }
			case 7:	 {	if(i%4==1)	a[i]=7;
					else		a[i]=3;
					break;  }
			case 8:	 {	if(i%4==2)	a[i]=4;
					else		a[i]=6;
					break;  }
			default:	a[i]=i%10;  } }

int alp(int sz) 	{
	int s=0, i;
	for(i=1; i<=sz; i++)
		s=s+a[i];
	return s;       }

int main(void) 						{
	long t, k;
	char n[100];
	int x, sz;
	char *p;
	ifstream f("cifra.in");
	ofstream g("cifra.out");

	aa();
	f>>t;

	for(k=0; k<t; k++)  			{
		f>>n;
		x=strlen(n);
		p=&n[x-1];
		sz=atoi(p);
		if(x>2)                 	{
		       p=&n[x-2];
		       sz=atoi(p); 	}
		g<<((sz/20)*4+alp(sz%20))%10;	}

	return 0;					}