Проект Эйлера

Проект Эйлера. Задача 33 «Дроби, сократимые по цифрам»

Условие:

Дробь 49/98 интересна тем, что неопытный математик, пытаясь сократить ее, будет ошибочно полагать, будто 49/98 = 4/8, являющееся истиной, получено вычеркиванием девяток.

Дроби вида 30/50 = 3/5 будем считать тривиальными примерами.

Существует ровно 4 нетривиальных примера дробей подобного типа, которые меньше единицы и содержат двухзначные числа как в числителе, так и в знаменателе.

Пусть произведение этих четырех дробей дано в виде несократимой дроби (числитель и знаменатель дроби не имеют общих сомножителей). Найдите знаменатель этой дроби.

Решение:

import fractions


def compute():
 numer = 1
 denom = 1
 for d in range(10, 100):
  for n in range(10, d):
   n0 = n % 10
   n1 = n // 10
   d0 = d % 10
   d1 = d // 10
   if (n1 == d0 and n0 * d == n * d1) or (n0 == d1 and n1 * d == n * d0):
    numer *= n
    denom *= d
 return str(denom // fractions.gcd(numer, denom))


if __name__ == "__main__":
 print(compute())
Ruslan

Recent Posts

10 удалённых Python-вакансий

Если вы ищете работу на Python, на Talanto.work сейчас есть варианты для junior, middle, senior…

6 месяцев ago

Где искать Python-вакансии в 2026 году: зачем на Talanto.work появился отдельный сценарий поиска

Рынок Python-вакансий большой, но удобным его назвать сложно. Формально вакансий много, однако в реальном поиске…

6 месяцев ago

Срезы в Python со всеми подробностями

Срезы в Python — это больше, чем a[2:7]. В статье — быстрый разбор полезных приёмов:…

8 месяцев ago

Возведение в степень в Python: полное руководство

В этой статье мы рассмотрим возведение в степень в Python с помощью различных методов, от…

9 месяцев ago

Как удалить дубликаты из списка Python?

Дубликаты в списке Python — частая проблема. В статье показано, как быстро убрать повторы, в…

9 месяцев ago

Виртуальный (shared) хостинг от SpaceWeb: технический обзор

Услуга виртуального хостинга на SpaceWeb позволяет арендовать часть сервера (shared-сервера) и разместить на нём свой…

11 месяцев ago