# Program to find remainder when large number is divided by 11

Given a number n, the task is to find the remainder when n is divided by 11. The input of number may be very large.

**Examples: **

Input : str = 13589234356546756 Output : 6 Input : str = 3435346456547566345436457867978 Output : 4

Since the given number can be very large, we can not use n % 11. There are some steps that needs to be used to find remainder:

1. Store number in string. 2. Count length of number string. 3. Convert string character one by one into digit and check if it's less than 11. Then continue for next character otherwise take remainder and use remainder for next number. 4. We get remainder. Ex. str = "1345" len = 4 rem = 3

**Implementation:**

## C++

`// CPP implementation to find remainder` `// when a large number is divided by 11` `#include <bits/stdc++.h>` `using` `namespace` `std;` `// Function to return remainder` `int` `remainder(string str)` `{` ` ` `// len is variable to store the` ` ` `// length of number string.` ` ` `int` `len = str.length();` ` ` `int` `num, rem = 0;` ` ` `// loop that find remainder` ` ` `for` `(` `int` `i = 0; i < len; i++) {` ` ` `num = rem * 10 + (str[i] - ` `'0'` `);` ` ` `rem = num % 11;` ` ` `}` ` ` `return` `rem;` `}` `// Driver code` `int` `main()` `{` ` ` `string str = ` `"3435346456547566345436457867978"` `;` ` ` `cout << remainder(str);` ` ` `return` `0;` `}` |

## Java

`// JAVA implementation to find remainder` `// when a large number is divided by 11` `import` `java.io.*;` `class` `GFG{` ` ` ` ` `// Function to return remainder` ` ` `static` `int` `remainder(String str)` ` ` `{` ` ` `// len is variable to store the` ` ` `// length of number string.` ` ` `int` `len = str.length();` ` ` ` ` `int` `num, rem = ` `0` `;` ` ` ` ` `// loop that find remainder` ` ` `for` `(` `int` `i = ` `0` `; i < len; i++) {` ` ` `num = rem * ` `10` `+ (str.charAt(i) - ` `'0'` `);` ` ` `rem = num % ` `11` `;` ` ` `}` ` ` ` ` `return` `rem;` ` ` `}` ` ` ` ` `// Driver code` ` ` `public` `static` `void` `main(String args[])` ` ` `{` ` ` `String str = ` `"3435346456547566345436457867978"` `;` ` ` `System.out.println(remainder(str));` ` ` `}` `}` `/*This code is contributed by Nikita Tiwari.*/` |

## Python3

`# Python 3 implementation to find remainder` `# when a large number is divided by 11` `# Function to return remainder` `def` `remainder(st) :` ` ` ` ` `# len is variable to store the` ` ` `# length of number string.` ` ` `ln ` `=` `len` `(st)` ` ` ` ` `rem ` `=` `0` ` ` ` ` `# loop that find remainder` ` ` `for` `i ` `in` `range` `(` `0` `, ln) :` ` ` `num ` `=` `rem ` `*` `10` `+` `(` `int` `)(st[i])` ` ` `rem ` `=` `num ` `%` `11` ` ` ` ` `return` `rem` ` ` ` ` `# Driver code` `st ` `=` `"3435346456547566345436457867978"` `print` `(remainder(st))` `# This code is contributed by Nikita Tiwari.` |

## C#

`// C# implementation to find remainder` `// when a large number is divided by 11` `using` `System;` `class` `GFG` `{` ` ` ` ` `// Function to return remainder` ` ` `static` `int` `remainder(` `string` `str)` ` ` `{` ` ` ` ` `// len is variable to store the` ` ` `// length of number string.` ` ` `int` `len = str.Length;` ` ` ` ` `int` `num, rem = 0;` ` ` ` ` `// loop that find remainder` ` ` `for` `(` `int` `i = 0; i < len; i++)` ` ` `{` ` ` `num = rem * 10 + (str[i] - ` `'0'` `);` ` ` `rem = num % 11;` ` ` `}` ` ` ` ` `return` `rem;` ` ` `}` ` ` ` ` `// Driver code` ` ` `public` `static` `void` `Main()` ` ` `{` ` ` `string` `str = ` `"3435346456547566345436457867978"` `;` ` ` `Console.WriteLine(remainder(str));` ` ` `}` `}` `// This code is contributed by vt_m.` |

## PHP

`<?php` `// PHP implementation to find remainder` `// when a large number is divided by 11` `// Function to return remainder` `function` `remainder(` `$str` `)` `{` ` ` ` ` `// len is variable to store the` ` ` `// length of number string.` ` ` `$len` `= ` `strlen` `(` `$str` `);` ` ` `$num` `; ` `$rem` `= 0;` ` ` `// loop that find remainder` ` ` `for` `(` `$i` `= 0; ` `$i` `< ` `$len` `; ` `$i` `++)` ` ` `{` ` ` `$num` `= ` `$rem` `* 10 +` ` ` `(` `$str` `[` `$i` `] - ` `'0'` `);` ` ` `$rem` `= ` `$num` `% 11;` ` ` `}` ` ` `return` `$rem` `;` `}` `// Driver code` `$str` `= ` `"3435346456547566345436457867978"` `;` `echo` `(remainder(` `$str` `));` `// This code is contributed by Ajit.` `?>` |

## Javascript

`<script>` `// Javascript implementation to find remainder` `// when a large number is divided by 11` `// Function to return remainder` `function` `remainder(str)` `{` ` ` ` ` `// len is variable to store the` ` ` `// length of number string.` ` ` `let len = str.length;` ` ` `let num;` ` ` `let rem = 0;` ` ` `// loop that find remainder` ` ` `for` `(let i = 0; i < len; i++)` ` ` `{` ` ` `num = rem * 10 +` ` ` `(str[i] - ` `'0'` `);` ` ` `rem = num % 11;` ` ` `}` ` ` `return` `rem;` `}` `// Driver code` `let str = ` `"3435346456547566345436457867978"` `;` `document.write(remainder(str));` `// This code is contributed by _saurabh_jaiswal.` `</script>` |

**Output**

4

**Time Complexity: O(L )** where L is length of the string**Auxiliary Space: O(L )**