Cod sursa(job #153320)

Utilizator hulparuadrianhulparu adrian hulparuadrian Data 10 martie 2008 13:55:31
Problema Cifra Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.11 kb
#include<iostream>
#include<fstream>
#include<cstring>
using namespace std;
ifstream f("cifra.in");
ofstream g("cifra.out");
int t,sum,n;
char nc[101];
//calcularea ultimei cifre a numarului k^k
int cifra(int k)
{
  if (k%10==0) return 0;
  if (k%10==1) return 1;
  if (k%10==2) if (k%4==0) return 6;
                  else return 4;
  if (k%10==3) if (k%4==3) return 7;
                  else return 3;
  if (k%10==4) return 6;
  if (k%10==5) return 5;
  if (k%10==6) return 6;
  if (k%10==7) if (k%4==3) return 3;
                  else return 7;
  if (k%10==8) if (k%4==0) return 6;
                  else return 4;  
  if (k%10==9) return 1;
   
    
    
    }



int main()
{
    f>>t;
    for(int i=1;i<=t;i++)
    {
     sum=0;
     f>>nc;
     int c=strlen(nc);
     if (c==1) n=nc[0]-48;
     else if (c==2) n=(nc[0]-48)*10+(nc[1]-48);
     else n=(nc[c-2]-48)*10+(nc[c-1]-48);
     for(int l=1;l<=n;l++)
             {sum+=cifra(l);
             sum%=10;        }
             g<<sum<<"\n";
                     }
    
    f.close();
    g.close();
    return 0;
    }