Cod sursa(job #499418)

Utilizator costiniuliacostiniulia costiniulia Data 9 noiembrie 2010 19:09:05
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

int power(int x)
{
  unsigned long rez=1;
  for(int i=0; i<x; i++)
  {
    rez *= x;
    rez = rez%10;
  }
  return rez;
}

int main()
{
  int n;
  int vector_nr[102];
  char numar[102];
  FILE *in = fopen("cifra.in", "r");
  FILE *out = fopen("cifra.out", "a");

  vector_nr[0] = 0;

  for(int i=1; i<100; i++)
  {
    int sum=0;
    for(int j=1; j<=i; j++)
    {
      sum += power(j);
      sum %= 10;
    }
    vector_nr[i] = sum;
  }

  fgets(numar, 100, in);
  n = atoi(numar);
  for(int i=0; i<n; i++)
  {
    fgets(numar, 110, in);

    if(strlen(numar) == 2)
    {
      int cifra = numar[strlen(numar)-2] - '0';
      fprintf(out, "%d\n", vector_nr[cifra]);
    }
    else if(strlen(numar) > 2)
    {
      int cifra1 = numar[strlen(numar)-3] - '0' ;
      int cifra2 = numar[strlen(numar)-2] - '0' ;
      int nr_curent = cifra1*10 + cifra2;
      fprintf(out, "%d\n", vector_nr[nr_curent]);
    }
  }

  return 0;
}