Pagini recente » Cod sursa (job #2627746) | Cod sursa (job #2989259) | Cod sursa (job #2146680) | Cod sursa (job #1648547) | Cod sursa (job #1317686)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
int cif[10][2];
char num[101];
int ul(int x){return x%10;}
int sum(int c, int p)
{
int s=0,i;
for(i=1;i<=c;i++)
s+=cif[i][p];
return s;
}
int main()
{
int i,j,p=0,c,s=0,ord;
cif[0][0] = 0; cif[0][1] = 0;
cif[1][0] = 1; cif[1][1] = 1;
cif[2][0] = 4; cif[2][1] = 6;
cif[3][0] = 7; cif[3][1] = 3;
cif[4][0] = 6; cif[4][1] = 6;
cif[5][0] = 5; cif[5][1] = 5;
cif[6][0] = 6; cif[6][1] = 6;
cif[7][0] = 3; cif[7][1] = 7;
cif[8][0] = 6; cif[8][1] = 4;
cif[9][0] = 9; cif[9][1] = 1;
freopen("cifra.in","rt",stdin);
freopen("cifra.out","wt",stdout);
fgets(num,101,stdin);
num[strlen(num)-1] = '\0';
for(i=strlen(num)-1;i>=0;i--)
{
if(i==strlen(num)-1)
{ c = num[i]-'0';
s+=sum(c,p);
s=ul(s);
}
else
{
ord = strlen(num)-i-2;
c = num[i]-'0';
for(j=1;j<=pow(10,ord)*c;j++)
{
p = !p;
s+=sum(c,p);
s=ul(s);
}
}
}
printf("%d\n",s);
return 0;
}