Cod sursa(job #177335)

Utilizator me_andyAvramescu Andrei me_andy Data 12 aprilie 2008 18:35:30
Problema Cifra Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<stdio.h>
#include<string.h>

FILE *f=fopen("cifra.in","r");
FILE *g=fopen("cifra.out","w");

int calcul(int n);
int numar(char *s){
	int x,n=strlen(s);
	x=s[n-1]-'0';
	if(n>1)
		x+=10*(s[n-2]-'0');
	return x;
}
int ultima(int a,int b){
	int i,p=1;
	a%=10;
	b%=4;
	if(b==0)
		b=4;
	for(i=1;i<=b;i++)
		p*=a;
	return p%10;
}
int main(){
	int t,n,i,r;
	char s[71];

	fscanf(f,"%d",&t);
	for(i=0;i<t;i++){
		fscanf(f,"%s",s);
		n=numar(s);
		r=calcul(n);
		fprintf(g,"%d\n",r);
	}
	fclose(f);
	fclose(g);
	return 0;
}

int calcul(int n){
	int i,s=0;
	for(i=1;i<=n;i++)
		s+=ultima(i,i);
	return s%10;
}