예제 #1
0
파일: e104.py 프로젝트: gtmanfred/Euler
def Euler_104():
    test = -1
    mini = 10**3
    for i in fib():
        test+=1
        stri = str(i)
        if test<300000:continue
        elif test==300000:print('start')
        if ispan(int(stri[-1:-10:-1])) and ispan(int(stri[:9])):return test
        if test>mini==0:print(test//10000);mini+=10**3
예제 #2
0
파일: e104.py 프로젝트: gtmanfred/Euler
def Euler_104():
    test = -1
    mini = 10**3
    for i in fib():
        test += 1
        stri = str(i)
        if test < 300000: continue
        elif test == 300000: print('start')
        if ispan(int(stri[-1:-10:-1])) and ispan(int(stri[:9])): return test
        if test > mini == 0:
            print(test // 10000)
            mini += 10**3
예제 #3
0
파일: e038.py 프로젝트: gtmanfred/Euler
def Euler_38():
    n = 9
    i = 1
    high = 0
    while len(str(i)) <= 9 // 2:
        x = 2
        t = i
        string = str(i)
        while len(string) <= 9:
            t *= x
            string += str(t)
            if len(string) == 9 and ispan(int(string)):
                if int(string) > high:
                    high = int(string)

        i += 1
    return high
예제 #4
0
파일: e038.py 프로젝트: gtmanfred/Euler
def Euler_38():
    n = 9
    i = 1
    high = 0
    while len(str(i))<=9//2:
        x = 2
        t = i
        string = str(i)
        while len(string)<=9:
            t*=x
            string += str(t)
            if len(string)==9 and ispan(int(string)):
                if int(string)>high:
                    high = int(string)
                    
        i+=1
    return high
예제 #5
0
파일: e032.py 프로젝트: gtmanfred/Euler
def Euler_32():
    a = set()
    l = 0
    t = 0
    for x in range(1,100):
        if x%10==0:print(x)
        for y in range(x,2000):
            test = str(x)+str(y)+str(x*y)
            if len(test)==9:
                if ispan(test):a.add(x*y);t +=1
                length = len(a)
                if length>l:print(a);l = length
        if t==9:break
    print(a)
    ret = 0
    while a:
        ret+=a.pop()
    return ret
예제 #6
0
파일: e032.py 프로젝트: gtmanfred/Euler
def Euler_32():
    a = set()
    l = 0
    t = 0
    for x in range(1, 100):
        if x % 10 == 0: print(x)
        for y in range(x, 2000):
            test = str(x) + str(y) + str(x * y)
            if len(test) == 9:
                if ispan(test):
                    a.add(x * y)
                    t += 1
                length = len(a)
                if length > l:
                    print(a)
                    l = length
        if t == 9: break
    print(a)
    ret = 0
    while a:
        ret += a.pop()
    return ret