Cod sursa(job #1317686)

Utilizator Tzappy90Mihalache Constantin Tzappy90 Data 15 ianuarie 2015 02:11:10
Problema Cifra Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.95 kb
#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;
}