Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

PrimaryArithmetic/황재선: Difference between revisions

From ZeroWiki
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[bit], s2[bit])
             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()

PrimaryArithmetic