Cod sursa(job #1305483)

Utilizator j.loves_rockJessica Joanne Patrascu j.loves_rock Data 29 decembrie 2014 20:08:28
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <fstream>
#include <cstring>

using namespace std;

int a[101];
int i, t, ultima, penultima;
char s[250];

int power(int x)
{
    int p = 1, k = x;
    while (x != 0)
    {
        if (x % 2 == 1)
            p = p * k % 10;
        k = k * k % 10;
        x = x / 2;
    }
    return p;
}
int main()
{
    ifstream f("cifra.in");
    ofstream g("cifra.out");

    for (i = 1; i <= 100; i++)
    {
        a[i] = (a[i - 1] + power(i)) % 10;
    }
    f >> t;

    for (i = 1; i <= t; i++)
    {
        f >> s;
        if (strlen(s) > 1)
        {
            penultima = s[strlen(s) - 2] - '0';
            penultima = penultima * 10;
            ultima = s[strlen(s) - 1] - '0';
            g << a[(ultima + penultima) % 100 ] << "\n";
        }
        else
        {
            ultima = s[strlen(s) - 1] - '0';
            g << a[ultima % 100] << "\n";
        }
    }
    return 0;
}