Pagini recente » Cod sursa (job #918398) | Cod sursa (job #178153) | Cod sursa (job #2378992) | Cod sursa (job #1430708) | Cod sursa (job #354924)
Cod sursa(job #354924)
#include <stdio.h>
FILE *f,*g;
long int n,t;
long suma(){
long s,j,nr,k;
s=(1+4+7+6+5+6+3+6+9)+1*k+(4*2*k+6*3*k);
s+=(k/3)*3+(k-(k/3))*7;
s+=6*(k/2);
s+=5*k;
s+=6*k;
s+=3*(k/3)+(k-(k/3))*7;
nr=0;
for(j=4;j<=k;j++) {
if(j%10==4) {nr++;}
}
s+=6*nr+(k-nr)*4;
s+=9*k;
return s;
}
long int ultima(long x,long y){
long i;
for(i=1;i<=y;i++) {
x=x%10;
x*=y;
}
return x;
}
int main(){
long k,i,s,j,nr,r;
f=fopen("cifra.in","r");
g=fopen("cifra.out","w");
fscanf(f,"%ld",&t);
for(i=1;i<=t;i++) {
fscanf(f,"%ld",&n);
k=n/10;
if(k==0) {s=0;}
if(k>1) {
s=suma();
}
if(n%10==0) {
s=s%10;
}
else{
k=k*10;
s+=1;
for(i=2;i<=n%10;i++) {
r=k+i;
if(r%4==0) {s+=ultima(i,4);}
else if(r%3==0) {s+=ultima(i,3);}
else if(r%2==0) {s+=ultima(i,2);}
else {s+=i;}
}
}
s=s%10;
fprintf(g,"%ld\n",s);
}
return 0;
}