VOOZH about

URL: https://www.geeksforgeeks.org/dsa/program-to-subtract-two-integers-of-given-base/

⇱ Program to Subtract two integers of given base - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

Program to Subtract two integers of given base

Last Updated : 23 Jul, 2025

Given three positive integers X, Y, and B, where X and Y are Base-B integers, the task is to find the value of X - Y such that X >= Y.

Examples:

Input: X = 1212, Y = 256, B = 8
Output: 0734
Explanation: The value of 1212 - 256 in base 8 is 734.

Input: X = 546, Y = 248, B = 9
Output: 287

Approach: The given problem can be solved by using basic mathematics subtraction. Follow the steps below to solve the given problem:

  • Initialize two variables say power = 1, carry = 0, to keep track of current power and carry generated while subtracting respectively.
  • Initialize a variable, say finalVal = 0, to store the resultant value of X - Y.
  • Iterate a loop until X > 0 and perform the following steps:
    • Store last digits from the current value of X and Y in two variables, say n1 = X % 10 and n2 = Y % 10 respectively.
    • Remove last digits from X and Y by updating X = X / 10 and Y = Y / 10.
    • Initialize temp = n1 - n2 + carry.
    • If temp < 0, then add base B to N, that is N = N + B and set carry = -1, which will act as a borrow. Otherwise, set carry = 0.
    • Add current temp * power to finalVal, that is finalVal = finalVal + temp * power and set power = power * 10.
  • After completing the above steps, print the value of finalVal as the result.

Below is the implementation of the above approach: 



Output
734


Time Complexity: O(log10N)
Auxiliary Space: O(1)

However, we can optimize the solution by performing the following steps:

  1. First, convert the given numbers X and Y into decimal form.
  2. Then, find the difference between X and Y.
  3. Finally, convert the decimal difference back into the given base.

Here's the implementation of the above approach:

Output:

734

Time Complexity: O(log^2 N) 
Auxiliary Space: O(log N)


Comment
Article Tags:
Article Tags: