Cod sursa(job #1066129)

Utilizator olly2204Olly2204 olly2204 Data 24 decembrie 2013 00:46:36
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.07 kb
//#include "stdafx.h"
//#include "LastDigit.h"

#include <fstream>
#include <iostream>
#include <string>

std::ifstream in("cifra.in");
std::ofstream out("cifra.out");

char GetLastDigitOfPower(int base, int power);
char GetLastDigitOfSequence(int number);

int main()
{
    int inputsCount = 0;
    in >> inputsCount;

    while (inputsCount > 0) 
    {
        char s[110];
        in >> s;

        const char c = s[strlen(s)-1];
        int number = atoi(&c);
        int result = GetLastDigitOfSequence(number);
        out << result << "\n";

        inputsCount--;
    }

    return 0;
}

char GetLastDigitOfSequence(int maxNumber)
{
    char digit = 0;
    char lastDigit;
    for (int number = 1; number <= maxNumber; number++)
    {
        lastDigit = GetLastDigitOfPower(number, number);
        digit = (digit + lastDigit) % 10;
    }
    return digit;
}

char GetLastDigitOfPower(int base, int power)
{
    char digit = 1;
    while(power > 0)
    {
        digit = (digit * base ) % 10;
        power--;
    }
    return digit;
}