* Computer Science/Project Euler

project euler 33. problem

soicem 2016. 8. 26. 17:52

분수 49/98에는 재미있는 성질이 있습니다. 수학을 잘 모르는 사람이 분모와 분자에서 9를 각각 지워서 간단히 하려고 49/98 = 4/8 처럼 계산해도 올바른 결과가 됩니다.

이에 비해 30/50 = 3/5 같은 경우는 다소 진부한 예라고 볼 수 있습니다.

위와 같은 성질을 가지면서 '진부하지 않은' 분수는, 값이 1보다 작고 분자와 분모가 2자리 정수인 경우 모두 4개가 있습니다.

이 4개의 분수를 곱해서 약분했을 때 분모는 얼마입니까?


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
numX = 1
denY = 1
 
for i in range(10100):
    if i % 10 == 0:
        continue
    for j in range(10100):
        numerator = []
        denominator = []
        if j % 10 == 0:
            continue
        elif i >= j:
            continue
        if i/10 != i%10:
            numerator.append(i/10)
            numerator.append(i%10)
        
        if j/10 != j%10:
            denominator.append(j/10)
            denominator.append(j%10)
        
        if len(numerator) ==2 and len(denominator) == 2:
            if denominator[0== numerator[1and i * denominator[1== j * numerator[0]:
                numX *= i
                denY *= j
 
 
 
print numX
print denY
print "%d" % (float(denY)/float(numX))
 
cs



C:\Users\cse\Desktop>python test.py

387296

38729600

100

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

project euler 목적.  (0) 2016.08.30
project euler 34. problem  (0) 2016.08.29
project euler 32. problem  (0) 2016.08.26
project euler 30. problem  (0) 2016.08.25
project euler 29. problem  (0) 2016.08.25