* Computer Science/Project Euler

project euler 5. problem

soicem 2016. 7. 15. 09:51

문제 : 1 ~ 10 사이의 어떤 수로도 나누어 떨어지는 가장 작은 수는 2520입니다.

그러면 1 ~ 20 사이의 어떤 수로도 나누어 떨어지는 가장 작은 수는 얼마입니까?


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
def AnyDiv(AnyNum):
    target = 1
    for i in range(1, AnyNum + 1):
        mod = 0
        comp = 0
        for j in range(1, i+1):
            if i % j == 0:
                comp+=1
        if comp == 2:
            mod = i
            print "mod : %d" %mod
            target = target * mod
        cnt = 2
        while mod ** cnt <= AnyNum and mod>=2:
            print "calc" 
            target = target * mod
            cnt += 1
 
    print "target is %d " % target
 
    #proof
    boolean = True
    for i in range(1, AnyNum+1):
 
        if target % i !=0:
            print i
            boolean = False
    if boolean == True:
        print "correct!"
 
AnyNum = raw_input("Input : ")
AnyDiv(int(AnyNum))
cs

C:\Users\soicem's com\Desktop>python test.py

Input : 30

mod : 2

calc

calc

calc

mod : 3

calc

calc

mod : 5

calc

mod : 7

mod : 11

mod : 13

mod : 17

mod : 19

mod : 23

mod : 29

2329089562800

correct!


C:\Users\soicem's com\Desktop>python test.py

Input : 20

mod : 2

calc

calc

calc

mod : 3

calc

mod : 5

mod : 7

mod : 11

mod : 13

mod : 17

mod : 19

target is 232792560

correct!


'* Computer Science > Project Euler' 카테고리의 다른 글

project euler 7. problem  (0) 2016.07.17
project euler 6. problem  (0) 2016.07.16
project euler 4. problem  (0) 2016.07.14
project euler 3. problem  (0) 2016.07.13
project euler 2. problem  (0) 2016.07.12