Pagini recente » Cod sursa (job #500839) | Cod sursa (job #1513318) | Cod sursa (job #461934) | Monitorul de evaluare | Cod sursa (job #2351118)
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;
unsigned transformare(char *x);
int main()
{
ifstream fin("cifra.in");
ofstream fout("cifra.out");
unsigned T;
fin>>T;
unsigned ultimacifra;
for(int k=1;k<=T;k++)
{
char c[10];
fin>>c;
unsigned suma=0;
unsigned long N=transformare(c);
for(int i=1; i<=N; i++)
{
ultimacifra = i;
if(ultimacifra>=10) ultimacifra=ultimacifra %10;
for(int j=2; j<=i; j++)
{
ultimacifra*=i;
if(ultimacifra>=10) ultimacifra=ultimacifra %10;
}
suma+= ultimacifra;
}
if(suma>=10) suma%=10;
fout<<suma<<endl;
}
fin.close();
fout.close();
return 0;
}
unsigned transformare(char *x){
unsigned long N=0;
for(int i=0;i<strlen(x);i++)
{
N=N*10+(x[i]-'0');
}
return N;
}