Cod sursa(job #1900222)

Utilizator tiberiu.bucur17Tiberiu Constantin Emanoil Bucur tiberiu.bucur17 Data 3 martie 2017 11:08:17
Problema Cifra Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <cstdio>
#include <cctype>
char cif[100];
inline char lgput(int x)
{
    char rez=1;
    for(int exp=x;exp;exp>>=1)
    {
        if(exp&1)
            rez=(rez*x)%10;
        x=(x*x)%10;
    }
    return rez;
}
int main()
{
    FILE *fin,*fout;
    fin=fopen("cifra.in","r");
    fout=fopen("cifra.out","w");
    cif[1]=1;
    for(int i=2;i<100;i++)
        cif[i]=(cif[i-1]+lgput(i))%10;
    int t,n;
    char ch;
    fscanf(fin,"%d\n",&t);
    for(int i=0;i<t;i++)
    {
        n=0;
        ch=fgetc(fin);
        while(isdigit(ch))
        {
            n=(n*10+ch-'0')%100;
            ch=fgetc(fin);
        }
        fprintf(fout,"%d\n",cif[n]);
    }
    fclose(fin);
    fclose(fout);
    return 0;
}