Cod sursa(job #1727295)

Utilizator petrooPetru G petroo Data 10 iulie 2016 14:39:03
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <fstream>
#include <cstring>
using namespace std;
int numar(char *s)
{
    int x,lungime = strlen(s);
    x = s[lungime-1] - '0';
    if (lungime > 1)
        x += 10*(s[lungime-2] - '0');
    return x;
}
int cifra(int nr1, int nr2)
{
    int i,inm = 1;
    nr1 %= 10;
    if (nr2 == 0)
    nr2 %= 4; // la cifra unitatilor pot fi maxim 4 numere diferite pentru orice valoare
        nr2 = 4;
    for(i = 1; i <= nr2; i++)
        inm *= nr1;

    return inm%10;
}

int rezultat(int nr)
{
    int i,suma = 0;
    for(i = 1; i <= nr; i++)
        suma += cifra(i,i);
    return suma%10;
}

int main()
{
    int t,i,nr;
    char s[101];
    ifstream f("cifra.in");
    ofstream g("cifra.out");
    f>>t;
    for(i = 1; i <= t; i++)
    {
        f>>s;
        nr = numar(s);
        g<<rezultat(nr)<<endl;
    }
    f.close();
    g.close();
    return 0;
}