Cod sursa(job #306468)

Utilizator ucc_5Usurelu Catalin ucc_5 Data 20 aprilie 2009 21:33:29
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
// ultima cifra a lui x^y se repeta din 4 in 4 (in cel mai rau caz)
// (x^x)=((x+100)^(x+100))  modulo 100
// 1^1 + 2^2 +....+ 99^99=0

#include <fstream.h>
#include <math.h>
#include <string.h>

ifstream f("cifra.in");
ofstream g("cifra.out");

char nr[101];
int v[100],v2[10][4];

void generare ()
{ int i,j;
  for (i=1; i<=9; i++)
   { v2[i][0]=(int)(pow(i,4))%10;
     for (j=1; j<=3; j++)
      v2[i][j]=(int)(pow(i,j))%10;
   }
   v[0]=0;
   for (i=1; i<=99; i++)
   v[i]=(v[i-1]+v2[i%10][i%4])%10;
}

int main ()
{ int t,uc,pc;
  generare ();
  f>>t;
  for (int i=1; i<=t; i++)
   { f.getline (nr,101);
     uc=nr[strlen(nr)-1]-'0';
     pc=nr[strlen(nr)-2]-'0';
     g<<v[uc*10+pc]<<'\n';
   }
      
  return 0;
}