Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 69 additions & 0 deletions Solutions/largesum.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@

# Function for finding sum of larger numbers
def findSum(str1, str2):


# make sure length of str2 is larger.
if len(str1)> len(str2):
temp = str1
str1 = str2
str2 = temp

# Take an empty string for storing result
str3 = ""

# Calculate length of both string
n1 = len(str1)
n2 = len(str2)
diff = n2 - n1

# Initially take carry zero
carry = 0

# Traverse from end of both strings
for i in range(n1-1,-1,-1):

# Simple Mathematics to calculate sum+carry

sum = ((ord(str1[i])-ord('0')) +
int((ord(str2[i+diff])-ord('0'))) + carry)

str3 = str3+str(sum%10 )


carry = sum//10

# Add remaining digits of str2[]
for i in range(n2-n1-1,-1,-1):

sum = ((ord(str2[i])-ord('0'))+carry)
str3 = str3+str(sum%10 )
carry = sum//10

# Add remaining carry
if (carry):
str3+str(carry+'0')

#remove first two string and append result
str3 = str3[::-1]
l.remove(str1)
l.remove(str2)
l.append(str3)

return l

# Driver code
if __name__ == "__main__":
l=[]
n=int(input("enter no of inputs"))
for i in range(n):
k=input("enter no")
l.append(k)
for j in range(n-1):
findSum(l[0],l[1])
print("summing the no we get ",l[0])
print("first 10 digits are",l[0][0:10] )#splicing upto 10 digits