Cod sursa(job #1041735)

Utilizator lorundlorund lorund Data 26 noiembrie 2013 01:17:16
Problema Cifra Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <cstdio>
#include <cstring>

int read();
int last(int n);

int main()
{
    int T;

    freopen("cifra.in", "r", stdin);
    freopen("cifra.out", "w", stdout);
    scanf("%d", &T);
    for (int t=0; t<T; ++t){
        printf("%d\n", last(read()));
    }

    return 0;
}


int read(){
    char N[105], *p;
    int n;

    scanf("%s", N);
    p = N+strlen(N)-1;

    for (int i=0; i<3 && p>N; ++i){
        --p;
    }
    sscanf(p,"%d", &n);

    return n;
}

int last(int n){
    int u=0;

    for (int i=1; i<=n; ++i){
        int d=i%10, p=(i-1)%4+1;
        int a=1;

        for (int j=1; j<=p; ++j){
            a*=d;
        }
        u+=a%10;
        u%=10;
    }
    return u;
}