Pagini recente » Cod sursa (job #2638935) | Cod sursa (job #2678460) | Cod sursa (job #3222312) | Cod sursa (job #111727) | Cod sursa (job #380352)
Cod sursa(job #380352)
#include<fstream>
using namespace std;
int abc(int n);
int upow(int n, int m);
int main()
{
ifstream fin("cifra.in");
ofstream fout("cifra.out");
int t,tt,i,sum,p;
long n;
fin>>t;
for(tt=0;tt<t;tt++)
{
fin>>n;
sum=0;
for(i=1;i<=n;i++)
{
p=i%abc(i);
if(abc(i)==1)
sum=(sum+i%10)%10;
else
if(abc(i)==2)
if(p==0)
sum=(sum+i%10)%10;
if(p==1)
sum=(sum+upow(i,2))%10;
else
if(abc(i)==4)
if(p==0)
sum=(sum+i%10)%10;
if(p==1)
sum=(sum+upow(i,2))%10;
if(p==2)
sum=(sum+upow(i,3))%10;
if(p==3)
sum=(sum+upow(i,4))%10;
}
fout<<sum<<endl;
}
}
int abc(int n)
{
if(n%10==0)
return 1;
if(n%10==1)
return 1;
if(n%10==2)
return 4;
if(n%10==3)
return 4;
if(n%10==4)
return 2;
if(n%10==5)
return 1;
if(n%10==6)
return 1;
if(n%10==7)
return 4;
if(n%10==8)
return 4;
if(n%10==9)
return 2;
}
int upow(int n, int m)
{
int i,upow;
upow=1;
for(i=1;i<=m;i++)
upow=(upow*n)%10;
return upow;
}