Given two numbers, the task is to find the number of carry operations required when two numbers are added as below.
Input: n = 1234, k = 5678 Output: 6912 4+8 = 2 and carry 1 carry+3+7 = carry 1 carry+2+6 = 9, carry 0 carry+1+5 = 6 Input: n = 555, k = 555 Output: 3
Approach: Store the values of n and k in strings.
- Initialise the carry variable and count variable to 0.
- Now, check from the last index of the strings till both the strings come to an end(one string may be smaller than the other).
- Add both the values(take care of ascii value) with carry in every iteration and check if that sum is greater than 10 or not.
- If it is greater than 10 then simply increment the value of count by 1 and make carry equal to 1, else make carry equal to 0.
- At last, print your answer which is count.
Below is the implementation of above approach:
# Python3 implementation of
# above approach
# Function to count the number
# of carry operations
def count_carry(a, b):
# Initialise the value of
# carry to 0
carry = 0;
# Counts the number of carry
count = 0;
# Initialise len_a and len_b
# with the sizes of strings
len_a = len(a);
len_b = len(b);
while (len_a != 0 or len_b != 0):
# Assigning the ascii value
# of the character
x = 0;
y = 0;
if (len_a > 0):
x = int(a[len_a – 1]) + int(‘0’);
len_a -= 1;
if (len_b > 0):
y = int(b[len_b – 1]) + int(‘0’);
len_b -= 1;
# Add both numbers/digits
sum = x + y + carry;
# If sum > 0, icrement count
# and set carry to 1
if (sum >= 10):
carry = 1;
count += 1;
# Else, set carry to 0
carry = 0;
# Driver code
a = “9555”;
b = “555”;
count = count_carry(a, b);
if (count == 0):
elif (count == 1):
# This code is contributed by mits
- Count the number of operations required to reduce the given number
- Count operations of the given type required to reduce N to 0
- Minimum number operations required to convert n to m | Set-2
- Minimum number of operations required to reduce N to 1
- Minimum number of operations required to sum to binary string S
- Minimum number of given operations required to make two strings equal
- Find the number of operations required to make all array elements Equal
- Find the minimum number of operations required to make all array elements equal
- Maximum count of equal numbers in an array after performing given operations
- Minimum number of given operations required to convert a permutation into an identity permutation
- Minimum number of given operations required to convert a string to another string
- Addition of two numbers without propagating Carry
- Operations required to make the string empty
- Minimum operations of the given type required to make a complete graph
- Minimum operations required to make all the array elements equal
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.