Cod sursa(job #216908)

Utilizator Bogdan_tmmTirca Bogdan Bogdan_tmm Data 26 octombrie 2008 09:53:21
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<iostream>
#include<stdio.h>
#include<string.h>
FILE *f,*g;
unsigned short a[21],cifra1;
void cifra()
{
	unsigned short p,s=0,i,j;
	for(i=1;i<=21;i++)
	{
		p=1;
		for(j=1;j<=i;j++)
			p=(p*i)%10;
		s=(s+p)%10;
		a[i]=s;
	}
}
int main()
{
	f=fopen("cifra.in","r");
	g=fopen("cifra.out","w");
	unsigned long n;
	fscanf(f,"%ld\n",&n);
	char c[101];
	a[0]=0;
	cifra();
	for(int i=1;i<=n;i++)
	{
		fscanf(f,"%s\n",&c);
		if(strlen(c)==1)
			cifra1=c[0]-'0';
		else
			cifra1=(c[strlen(c)-1]-'0'+10*(c[strlen(c)-2]-'0'));
		cifra1=((cifra1/20*4)%10+a[cifra1%20])%10;
		fprintf(g,"%d\n",cifra1);
	}
	return 0;
}