Cod sursa(job #734265)

Utilizator mihaitza22Mihai Nan mihaitza22 Data 13 aprilie 2012 21:36:58
Problema Cifra Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <iostream>
#include <stdio.h>
#include <string.h>

using namespace std;

int numarul(char *s)
{
    int x, n = strlen(s);
    x = s[n-1] - '0';
    if (n>1)
    {
        x+= 10*(s[n-2]-'0');
    }
    return x;
}

int ultima_cifra(int a, int b)
{
    int i, p;
    p=1;
    a%=10;
    b%=4;
    if (b==0)
        b = 4;
    for (i=1;i<=b;i++)
        p*=a;
    return p%10;
}

int solve(int n)
{
    int i, s=0;
    for (i=1;i<=n;i++)
        s+=ultima_cifra(i,i);
    return s%10;
}

int main()
{
    freopen("cifra.in","r",stdin);
    freopen("cifra.out","w",stdout);
    int t, n, i, r;
    char s[101];
    scanf("%d", &t);
    for (i=1;i<=t;i++)
    {
        scanf("%s", s);
        n = numarul(s);
        r = solve(n);
        printf("%d\n",r);
    }
}