Задача к ЕГЭ по информатике на тему «Программирование — Обработка целочисленной информации с использованием сортировки» №1

Каждую дробь можно представить в виде суммы уникальных единичных дробей (т.е. таких дробей, где в числителе стоит 1  , а в знаменатале уникальное число). Например, 23 = 12 + 16.  Такое представление называется египетской дробью, поскольку оно использовалось древними египтянами.

Определите, как можно представить дробь 15 23  в виде суммы уникальных единичных дробей. В качестве ответа запишите дроби через знак «+». Например, для дроби 23  в качестве ответа нужно указать 1∕2+ 1∕6  (В формате: Дробь, пробел, плюс, пробел, дробь).

def egyptianFraction(nr, dr):
    print("The Egyptian Fraction " +
          "Representation of {0}/{1} is".
          format(nr, dr), end="n")

    ef = []

    while nr != 0:
        x = dr // nr + (dr % nr != 0)
        ef.append(x)
        nr = x * nr - dr
        dr = dr * x

    for i in range(len(ef)):
        if i != len(ef) - 1:
            print("1/{0} +".format(ef[i]), end=" ")
        else:
            print("1/{0}".format(ef[i]), end="")

egyptianFraction(15, 23)

Ответ: 1/2 + 1/7 + 1/108 + 1/17388
Оцените статью
Я решу все!