Cod sursa(job #42571)

Utilizator mika17Mihai Alex Ionescu mika17 Data 29 martie 2007 12:23:00
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <stdio.h>
#include <string.h>
#define DMAX 100
#define LMAX 101
short cif[DMAX];
void proc();
void solve();
int main()
{
 proc();
 solve();
 return 0;
}

void proc()
{
 short pow;
 for(int i = 1 ; i < DMAX ; ++i)
 {
  pow = 1;
  for(int j = 1 ; j <= i ; pow = (pow * i) % 10 , ++j);
  cif[i] = (cif[i - 1] + pow) % 10;
 }
}

void solve()
{
 FILE *f,*g;
 short t,len,ind;
 char n[LMAX];
 f = fopen("cifra.in","r");
 g = fopen("cifra.out","w");
 fscanf(f,"%hd\n",&t);
 while(t--)
 {
  fscanf(f,"%s",n);
  len = strlen(n);
  if(len>1)
    ind = (n[len-2]-'0') * 10 + n[len-1] - '0'; //ultimele 2 cifre
   else
    ind = n[0]-'0';                           //ultima cifra
  fprintf(g,"%hd\n",cif[ind]);
 }
 fclose(f);
 fclose(g);
}