진짜 점 수 를 이집트 점수 에 더 한 형식 으로 분해 하 다.

1263 단어 python알고리즘
이집트 점 수 는 분자 가 모두 1 인 진짜 점 수 를 가리킨다.
진 점 수 를 입력 할 때 다음 과 같은 몇 가지 상황 으로 나 눌 수 있다.
  • a 가 1 일 때 결 과 를 직접 출력 할 수 있다
  • a 가 b 에 의 해 정 제 될 수 있 을 때 결 과 를 직접 출력 할 수 있다. 즉, 1 / (b / a)
  • a = 3 및 b 가 짝수 일 때 분해 결 과 를 직접 출력 할 수 있 습 니 다: 1 / (b / 2) + 1 / b
  • a 가 b 로 나 눌 수 없 을 때 a / b 를 하나의 이집트 점수 와 하나의 비 이집트 점수 로 분해 해 야 한다. 하 나 는 이집트 점수 가 1 / (b / a + 1) 이 고 다른 하 나 는 (a * c - b) / (b * c) 이 며 여기 의 c = b / a + 1
  • 이다.
    다음은 python 이 실현 하 는 과정 입 니 다:
    if __name__ == '__main__':
    
        fenzi = 50 #     
        fenmu = 88 #     
    
        print("{}/{}".format(fenzi, fenmu), end="=")
        i = 3
        while(i):
            if fenzi == 1:
                print("1/{}".format(fenmu))
                break
            elif fenmu % fenzi == 0:
                print("1/{}".format(int(fenmu/fenzi)))
                break
            elif fenmu % 2 == 0 and fenzi == 3:
                print("1/{} + 1/{}".format(int(fenmu/2), fenmu), end="+")
                break
            else:
                value = int(fenmu/fenzi) + 1
                fenzi = fenzi * value - fenmu #      
                fenmu = value * fenmu #      
    
                print("1/{}".format(value), end="+")
    
            i -= 1
    
    
    
        pass

    좋은 웹페이지 즐겨찾기