Cod sursa(job #903999)

Utilizator baTTLe4u_15Nita Iulian baTTLe4u_15 Data 3 martie 2013 15:51:09
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<stdio.h>
#include<string.h>
int main()
{
FILE *f=fopen("cifra.in","r"),*g=fopen("cifra.out","w");

	//pun in vectorul v pe pozitia i ultima cifra a sumei 1^1+2^2+..i^i.
	int suma=0;
	int v[100];
	    for(int j=1;j<=99;j++)
        {
            int p=1;
            for(int k=1;k<=j;k++)
            {
                p*=j;
                p%=10;
            }
            suma+=p;
            v[j]=suma%10;
		}

int t;
fscanf(f,"%d",&t);

for(int i=0;i<t;i++)
{
	//citeste numarul ca sir de caractere
	//nu ne intereseaza decat ultimele 2 cifre
	char s[101];
	fscanf(f,"%s",s);
	
	//ultima cifra o fac int
	int lungS=strlen(s);
	int nr=s[lungS-1]-48;
	
	//daca numarul are mai mult de o cifra, formam numar din ultimele 2
	if(lungS>1)
	nr+=(s[lungS-2]-48)*10;

	fprintf(g,"%d\n",v[nr]);
}

fclose(f);
fclose(g);
}