Pagini recente » Cod sursa (job #233032) | Cod sursa (job #521189) | Cod sursa (job #180731) | Cod sursa (job #974258) | Cod sursa (job #102736)
Cod sursa(job #102736)
#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;
}
}