Pagini recente » Cod sursa (job #2479153) | Cod sursa (job #2202235) | Istoria paginii runda/pregatire_oji_2022/clasament | Cod sursa (job #646099) | Cod sursa (job #311189)
Cod sursa(job #311189)
#include<fstream>
#include<stdio.h>
#include<math.h>
using namespace std;
fstream /*f("cifra.in",ios::in),*/g("cifra.out",ios::out);
long long t,v[40000];
long long ultima(long long a)
{
if(a%10==0)return 0;
else if(a%10==1)return 1;
else if(a%10==2)
{
if(a%4==0)return 6;
else if(a%4==1)return 2;
else if(a%4==2)return 4;
else if(a%4==3)return 8;
}
else if(a%10==3)
{
if(a%4==0)return 1;
else if(a%4==1)return 3;
else if(a%4==2)return 9;
else if(a%4==3)return 7;
}
else if(a%10==4)
{
if(a%2==0)return 6;
else if(a%2==1) return 4;
}
else if(a%10==5)return 5;
else if(a%10==6)return 6;
else if(a%10==7)
{
if(a%4==0)return 1;
else if(a%4==1)return 7;
else if(a%4==2)return 9;
else if(a%4==3)return 3;
}
else if(a%10==8)
{
if(a%4==0)return 6;
else if(a%4==1)return 8;
else if(a%4==2)return 4;
else if(a%4==3)return 2;
}
else if(a%10==9)
{
if(a%2==0)return 1;
else if(a%2==1)return 9;
}
return 0;
}
long long suma(long long a)
{
long long i,final=0;
for(i=1;i<=a;i++){final+=ultima(i);final%=10;}
//final%=10;
return final;
}
/*long long nr_cifre(long long a)
{
long long nr=0;
while(a)
{
a/=10;
nr++;
}
return pow(10,nr);
}*/
int main()
{
//char aux[100];
long i;
FILE * f;
f=fopen("cifra.in","r");
fscanf(f,"%lld",&t);
for(i=1;i<=t;i++)
{
fscanf(f,"%lld",&v[i]);
}
for(i=1;i<=t;i++)
{
/*if(v[i]<100)*/g<<suma(v[i])<<endl;
//else g<<suma(v[i]%100)<<endl;
}
return 0;
}