Top.Mail.Ru
Ответы

Задание: 1. Написать функцию, которая выводит все несократимые дроби, знаменатель которой равен N.

1. Написать функцию, которая выводит все несократимые дроби, знаменатель которой равен N желательно код на Python, помогите, уже час голову ломаю

По дате
По рейтингу
Аватар пользователя
Новичок
1234567
 from math import gcd 
def fraction(N): 
    fractions = [] 
    for i in range(1, N): 
        if gcd(i, N) == 1: 
            fractions.append(f'{i}/{N}') 
    return fractions 
Аватар пользователя
Мастер

Для вывода всех несократимых дробей, у которых знаменатель равен N, можно использовать алгоритм перебора всех числителей от 1 до N и проверять их взаимную простоту с N. Если числитель и знаменатель являются взаимно простыми числами (их наибольший общий делитель равен 1), то это несократимая дробь. Вот пример функции на Python для этой задачи:

12345678910111213141516
 import math 
 
def gcd(a, b): 
    while b: 
        a, b = b, a % b 
    return a 
 
def print_irreducible_fractions(N): 
    for numerator in range(1, N): 
        if gcd(numerator, N) == 1: 
            print(f"{numerator}/{N}") 
 
N = int(input("Введите знаменатель N: ")) 
print(f"Несократимые дроби со знаменателем {N}:") 
print_irreducible_fractions(N) 
 

Вы можете вызвать эту функцию, передав в нее значение N, и она выведет все несократимые дроби с знаменателем N.