Cod sursa(job #1724186)

Utilizator cella.florescuCella Florescu cella.florescu Data 2 iulie 2016 14:59:22
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <cstdio>

using namespace std;

int aux[101];

inline int mypow(int x){
  int expo=x, rez=1;
  while(expo){
    if(expo&1)
      rez=(rez*x)%10;
    x=(x*x)%10;
    expo>>=1;
  }
  return rez;
}

int main()
{
    FILE *fin, *fout;
    int t, n, i;
    char c1, c2, c;
    for(i=1; i<=100; i++)
      aux[i]=(aux[i-1]+mypow(i))%10;
    fin=fopen("cifra.in", "r");
    fscanf(fin, "%d ", &t);
    fout=fopen("cifra.out", "w");
    for(i=0; i<t; i++){
      c1=c2='0'; c=fgetc(fin);
      while(c!='\n'){
        c1=c2; c2=c; c=fgetc(fin);
      }
      fprintf(fout, "%d\n", aux[(c1-'0')*10+c2-'0']);
    }
    fclose(fin);
    fclose(fout);
    return 0;
}