Cod sursa(job #2232944)

Utilizator LivcristiTerebes Liviu Livcristi Data 21 august 2018 18:01:47
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <iostream>
#include <fstream>
#include <cstring>
int rest[100];
char sir[150];
int n, num;
using namespace std;
int powm(int a, int b, int mod)
{
    if(a == 0)
        return 0;
    int res = 1;
    a %= mod;
    while(b)
    {
        if(b & 1)
        {
            res = res * a % mod;
        }
        b = b >> 1;
        a = a * a % mod;
    }
    return res % mod;
}
int main()
{
    int sum = 0;
    for(int i = 0; i <= 99; i++)
    {
        sum += powm(i, i, 10);
        sum %= 10;
        rest[i] = sum;
    }
    ifstream f("cifra.in");
    ofstream g("cifra.out");
    f >> n;
    f.get();
    for(int k = 0; k < n; ++k)
    {
        f >> sir;
        if(strlen(sir) >= 2)
        {
            num = (sir[strlen(sir) - 1] - '0') + (sir[strlen(sir) - 2] - '0') * 10;
        }
        else
        {
            num = sir[0] - '0';
        }
        g << rest[num] << "\n";
    }
    f.close();
    g.close();
}