You are on page 1of 3

Converting numbers from one Counting system to another

one:
Algorithm:
cin>>N;
k=-1;
while (N>=1)
{
k++;
b[k]=N%p;
N=N/p;
}
for(i=0; i<=k; i++)
cout<<b[i]<<" ";

Remainder of Division of the number in tabular


representation on the number in ordinary representation:
a=a1·10n-1 + a2·10n-2 + a3·10n-3 + ... + an-1·10 + an
Three main properties of division with remainder:
1. (c + d) % n = ((c % n) + (d % n)) % n;
2. c·d % n = c(d % n) % n = ((c % n)d) % n;
3. cd % n = ((cd-1 % n)c) % n.
a % m=( a1·10n-1 + a2·10n-2 + a3·10n-3 + ... + an-1·10 + an) % m= =
(( a1·10n-1) % m + (a2·10n-2) % m + ... + (an-1·10) % m + an % m) %
m=(( a1(10n-1 % m) % m + (a2(10n-2 % m) % m + ... + (an-1(10 % m)
% m + an % m) % m
Algorithm:

cin>>n>>m;
for(i=0; i<n; i++)
cin>>b[i];
s=0;
r=1;
for(i=0; i<n; i++)
{s=s+(b[i]*r)%m;
r=(r*10)%m; }
s=s%m;

Long numbers summation:

k=max(n,m)+1;
for(i=0; i<k; i++)
{c[i]=a[i]+b[i]+c[i];
if (c[i]>=10)
{c[i]=c[i]%10;
c[i+1]=c[i+1]+1;}
}
k--;
if(c[k]==0)
k--;
for(i=k; i>=0; i--)
cout<<b[i]<<” “;
Long numbers subtraction:

for(i=0; i<n; i++)


{c[i]=a[i]-b[i]+c[i];
if (c[i]<0)
{c[i]=c[i]+10;
c[i+1]--;}
}
while(c[n]==0)
n--;
for(i=n; i>=0; i--)
cout<<b[i]<<” “;

Long numbers multiplication:

k=n+m;

for(i=0; i<m; i++)


for(j=0; j<n; j++)
c[i+j]=a[j]*b[i]+c[i+j];
for(i=0; i<k-1; i++)
{c[i+1]=c[i+1]+c[i]/10;
c[i]=c[i]%10; }
while(c[k]==0)
k--;
for(i=k; i>=0; i--)
cout<<b[i]<<” “;

You might also like