U E D R , A S I H C RSS

Primary Arithmetic/Leonardong

.
~cpp 리 = 1 + 2 + 리(1+2)

~cpp 
def carry( *digits ):
    result = 0
    for digit in digits:
        result += digit
    if result > 9:
        return 1
    return 0

def getValueOfDegree( num, degree ):
    if degree == 0:
        return 0
    return (num % (degree * 10)) / degree
def countUpCarry( n, m ):
    count = 0
    degree = 1
    while degree < 10*(n + m):
        count += carry( getValueOfDegree( n, degree ),
                        getValueOfDegree( m, degree ),
                        getCarry( n, m, degree) )
        degree *= 10
    return count
def getCarry( n, m, degree ):
    if degree == 0:
        return 0
    return carry( getValueOfDegree( n, degree/10 ), getValueOfDegree( m, degree/10 ), getCarry(n, m, degree/10) )
#########################################################################           
import unittest

class TemplateTestCase(unittest.TestCase):
    def testCountUpCarryEqualDegreeOne(self):
        self.assertEquals( 0, countUpCarry( 0,0 ) )
        self.assertEquals( 1, countUpCarry( 9,1 ) )
    def testGetValueOfDegree(self):
        self.assertEquals( 0, getValueOfDegree( 0, 1 ) )
        self.assertEquals( 2, getValueOfDegree( 1234, 100 ) )
        self.assertEquals( 0, getValueOfDegree( 1, 10 ) )
    def testCountUpCarryEqualDegreeTwo(self):
        self.assertEquals( 0, countUpCarry( 10,10 ) )
        self.assertEquals( 1, countUpCarry( 10,90 ) )
    def testComplex(self):
        self.assertEquals( 4, countUpCarry( 1, 9999 ) )
        self.assertEquals( 2, countUpCarry( 1, 9099 ) )
    def testCarry(self):
        self.assertEquals( 0, carry( 0,0 ) )
        self.assertEquals( 1, carry( 1,9 ) )
#########################################################################
if __name__ == '__main__': 
    unittest.main()

. 리를 는 부 . 만들만, 머리 . 란 메 는데 는데 메 는데 . . .
는데 (1) . &리 . 번 더 .


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:24:02
Processing time 0.0090 sec