More actions
imported>Unknown No edit summary |
(Repair MoniWiki formatting after migration) |
||
| (One intermediate revision by the same user not shown) | |||
| Line 1: | Line 1: | ||
2005.2.15 | 2005.2.15 | ||
== PrimaryArithmetic == | == [[PrimaryArithmetic]] == | ||
MAX = 9 | MAX = 9 | ||
| Line 9: | Line 9: | ||
s1, s2 = n1.zfill(MAX), n2.zfill(MAX) | s1, s2 = n1.zfill(MAX), n2.zfill(MAX) | ||
for bit in range(MAX-1, -1, -1): | for bit in range(MAX-1, -1, -1): | ||
self.carry += self.addEachBit(self.each, s1 | self.carry += self.addEachBit(self.each, s1[bit], s2[bit]) | ||
return self.carry | return self.carry | ||
| Line 36: | Line 36: | ||
pa.result() | pa.result() | ||
---- | ---- | ||
PrimaryArithmetic | [[PrimaryArithmetic]] | ||
Latest revision as of 00:34, 29 March 2026
2005.2.15
PrimaryArithmetic
MAX = 9
class PrimaryArithmetic:
def addTwoNum(self, n1, n2):
self.carry = 0
self.each = 0
s1, s2 = n1.zfill(MAX), n2.zfill(MAX)
for bit in range(MAX-1, -1, -1):
self.carry += self.addEachBit(self.each, s1[bit], s2[bit])
return self.carry
def addEachBit(self, each, b1, b2):
self.each = 0
if each + int(b1) + int(b2) >= 10:
self.each = 1
return self.each
def result(self):
if self.carry == 0:
print 'No carry operation.'
elif self.carry == 1:
print '1 carry operation.'
else:
print self.carry, 'carry operations.'
if __name__ == '__main__':
pa = PrimaryArithmetic()
while True:
n1, n2 = raw_input().split()
if n1 == '0' and n2 == '0':
break
pa.addTwoNum(n1, n2)
print n1, n2
pa.result()