Cod sursa(job #102736)

Utilizator ChrisPop Cristian Chris Data 14 noiembrie 2007 17:50:06
Problema Next Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include<stdio.h>
#include<string.h>
#define dim 1001

typedef int Huge[1001];
Huge a,b,c;

void conversie(char s[dim],Huge a);
void scaderi_succesive(Huge a,Huge b);
int compara(Huge c,Huge b);

int main()
{
	freopen("next.in","r",stdin);
	freopen("next.out","w",stdout);

	char s[dim];
	Huge a;
	scanf("%s",&s);
	conversie(s,a);
	scanf("%s",&s);
	conversie(s,b);
	scaderi_succesive(a,b);
	return 0;
}
void conversie(char s[dim],Huge a)
{
	int i;
	a[0]=strlen(s);
	for(i=0;i<=a[0];++i)
		a[i+1]=s[i]-'0';
}
void scaderi_succesive(Huge a,Huge b)
{
	Huge c;
	int i,k=1,rest;
	while(compara(c,b)!=0)
	{
		for(i=1;i<=a[0];++i)
		{
			c[i]=a[i]-b[i]+t;
			if(c[i]<0)
				c[i]+=10,t=-1;
			else
				t=0;
		}
		--i;
		while(i&&!d[i])
			--i;
		c[0]=i+1;

	}
}
int compara(Huge c,Huge b)
{
	int i;
	if(c[0]>b[0])
		return 1;
	if(c[0]<b[0])
		return -1;
	for(i=c[0]-1;i>=0&&a[i]==b[i];i--);
	if(i<0)
		return 0;
	if(a[i]<b[i])
		return -1;
	return 1;
}
}