Given an integer **N** in form of string **str** consisting of more than 100 digits, the task is to store the value for performing an arithmetic operation and print the given integer.

**Examples:**

Input:str = “54326789013892014531903492543267890138920145319034925432678901389201”

Output:54326789013892014531903492543267890138920145319034925432678901389201

Input:str = “7890138920145319034925432678907890138920145319034925432678901903492543267890”

Output:7890138920145319034925432678907890138920145319034925432678901903492543267890

**Approach:**

No data type is present in C++ to store **10 ^{100}**. So, the idea is to use get the input as

**string**(as string can be of any length) and then convert this string into an

**array of digits**of the length same as the length of string. Storing the big integer into an integer array will help to perform some basic arithmetic on that number.

Below are the steps:

- Take the large number as input and store it in a string.
- Create an integer array
**arr[]**of length same as the string size. - Iterate over all characters (digits) of string
**str**one by one and store that digits in the corresponsing index of the array**arr**

arr[i] = str[i] – ‘0’;

// Here ‘0’ represents the digit 0, and

// str[i] – ‘0’ = ASCII(str[i]) – ASCII(‘0’) = ASCII(str[i] – 48 - Using the above step, we can store very very large number for doing any arithmetic operations.

Below is the implementation of the above approach:

## C++

`// C++ program for the above approach ` `#include <iostream> ` `using` `namespace` `std; ` ` ` `// Function to return dynamic allocated ` `// array consisting integers individually ` `int` `* GetBigInteger(string str) ` `{ ` ` ` `int` `x = str.size(), a = 0; ` ` ` ` ` `// Create an array to store the big ` ` ` `// integer into it. ` ` ` ` ` `// Make the array size same as the ` ` ` `// size of string str ` ` ` `int` `* arr = ` `new` `int` `[str.size()]; ` ` ` ` ` `// Loop to extract string elements ` ` ` `// into the array one by one ` ` ` `while` `(a != x) { ` ` ` ` ` `// Subtracting '0' to convert ` ` ` `// each character into digit ` ` ` ` ` `// str[a] - '0' ` ` ` `// = ASCII(str[a]) - ASCII('0') ` ` ` `// = ASCII(str[a] - 48 ` ` ` `arr[a] = str[a] - ` `'0'` `; ` ` ` `a++; ` ` ` `} ` ` ` ` ` `// Return the reference of the array ` ` ` `return` `arr; ` `} ` ` ` `// Driver Code ` `int` `main() ` `{ ` ` ` `// Big Integer in form of string str ` ` ` `string str = ` `"12345678098765431234567809876543"` `; ` ` ` ` ` `// Function Call ` ` ` `int` `* arr = GetBigInteger(str); ` ` ` ` ` `// Print the digits in the arr[] ` ` ` `for` `(` `int` `i = 0; i < str.size(); i++) { ` ` ` `cout << arr[i]; ` ` ` `} ` ` ` `return` `0; ` `} ` |

*chevron_right*

*filter_none*

**Output:**

12345678098765431234567809876543

**Time Complexity:** *O(K)*, K is the number of digits in the number

**Auxiliary Space:** *O(K)*, K is the number of digits in the number

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready.