Cod sursa(job #500271)

Utilizator gabrielcristianMahalean Gabriel gabrielcristian Data 11 noiembrie 2010 20:18:31
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.01 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;
}