素因数分解

参考: [改訂新版]C言語による標準アルゴリズム事典 (Software Technology), p.156

↓ テキストのCコードをそのままPythonに書き換えたもの:

def factorize(x):
    print("%d = " % x, end="")
    
    while((x >= 4) and (x%2 == 0)):
        print("2 * ", end="")
        x /= 2

    d = 3
    q = x/d
    while(q >= d):
        if(x%d == 0):
            print("%d * " % d, end="")
            x = q
        else:
            d += 2
        q = x/d
    print("%d\n" % x)

factorize(12345678)

↓ TI-Nspireで検算: