1

指定されたエジプト分数の標準分数表記バージョンを見つけるある種の関数。

例えば:

input: 3, 15
output: 2/5

エジプトの分数に慣れていない人のために説明します:

(1/3 + 1/15) = 18/45 = 2/5

これを行う方程式は何ですか?方程式でない場合、どの演算セットですか?

4

2 に答える 2

3
from fractions import Fraction

def egyptian(a, b):
    frac = (Fraction(1.0/a) + Fraction(1.0/b)).limit_denominator()
    return frac.numerator, frac.denominator

egyptian(3, 15)
>>> (2L, 5L)
于 2013-05-28T19:34:50.907 に答える
2

これは Python の問題というよりも数学の問題のように見えますが、いくつかのヒントを示します。

  1. 入力をトークンに分割します ( str.split)
  2. トークンを整数に解析します ( int(x))
  3. 分数を足す式を適用する
  4. 既約分数に変換 (gcd で割ります。ユークリッドの方法を使用できます)
  5. 利益

分数の加算: a/b + c/d = (ad+cb)/bdacが 1 であるため、単純化して(d+b)/db

または、分数の足し算や引き算が苦手な方はこちらをご覧ください

于 2013-05-28T16:33:20.127 に答える