Pagini recente » Cod sursa (job #2885450) | Cod sursa (job #575273) | Cod sursa (job #3001717) | Cod sursa (job #495179) | Cod sursa (job #903999)
Cod sursa(job #903999)
#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);
}