# Divide large number represented as string

Given a large number (represented as string) which has to divided by another number (represented as int data type). The large number can be very large which does not even fit in long long in C++. The task is to find division of these numbers.

Examples:

```Input : number  = 1260257
divisor = 37
Output : 34061
(See below diagram)

Input : number  = 12313413534672234
divisor = 754
Output : 16330787181262

Input : number  = 1248163264128256512
divisor = 125
Output : 9985306113026052
```

## Recommended: Please solve it on “PRACTICE ” first, before moving on to the solution.

We have already discussed Multiply Large Numbers represented as Strings.

We use basic school mathematics as shown in below example.

Image Source : https://en.wikipedia.org/wiki/Long_division

As the dividend and result can be very large we store them in string. We first take digits which are divisible by number. After this take each digit and store result in string.

```// C++ program to implement division with large
// number
#include <bits/stdc++.h>
using namespace std;

// A function to perform division of large numbers
string longDivision(string number, int divisor)
{
// As result can be very large store it in string
string ans;

// Find prefix of number that is larger
// than divisor.
int idx = 0;
int temp = number[idx] - '0';
while (temp < divisor)
temp = temp * 10 + (number[++idx] - '0');

// Repeatedly divide divisor with temp. After
// every division, update temp to include one
// more digit.
while (number.size() > idx)
{
// Store result in answer i.e. temp / divisor
ans += (temp / divisor) + '0';

// Take next digit of number
temp = (temp % divisor) * 10 + number[++idx] - '0';
}

// If divisor is greater than number
if (ans.length() == 0)
return "0";

// else return ans
return ans;
}

// Driver program to test longDivison()
int main()
{
string number = "1248163264128256512";
int divisor = 125;
cout << longDivision(number, divisor);
return 0;
}
```

Output:
9985306113026052

This article is contributed by nuclode. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

# GATE CS Corner    Company Wise Coding Practice

3.7 Average Difficulty : 3.7/5.0
Based on 8 vote(s)