Cod sursa(job #339953)

Utilizator mlazariLazari Mihai mlazari Data 12 august 2009 13:21:12
Problema Cifra Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<stdio.h>
#include<string.h>

int putere(int cifra) {
  int numar=1;
  for(int i=0;i<cifra;i++) {
    numar*=cifra;
    numar%=10; // iau numai ultima cifra, ca sa nu fie prea mare numarul
  }
  return numar;
}

int main() {
  freopen("cifra.in","r",stdin);
  freopen("cifra.out","w",stdout);
  int cifra,d,t,z,l;
  char c[102];
  scanf("%d\n",&t);
  for(d=0;d<t;d++) {
    // Citesc numarul, apoi calculez numarul format din ultimele 2 cifre
    fgets(c,102,stdin);
    l=strlen(c)-1;
    if(l==1) // Numarul are o singura cifra
     cifra=c[0]-'0';
    else // Numarul are mai mult de o cifra
     cifra=(c[l-2]-'0')*10+(c[l-1]-'0');

    z = 0;
    for(int i = 1; i <= cifra; i++) {
      z+=putere(i);
      z%=10;
    }
    printf("%d\n",z);
  }
  return 0;
}