Найдите наибольшую правильную несократимую дробь, у которой сумма числителя и знаменателя равна n. Подскажите программу на c++

13 Окт 2019 в 19:40
262 +1
0
Ответы
1

Для нахождения наибольшей правильной несократимой дроби с суммой числителя и знаменателя равной n, можно воспользоваться следующим алгоритмом:

Завести переменную maxFraction со значением 0.Пройти в цикле от 1 до n//2 (т.к. мы ищем наибольшую дробь, числитель и знаменатель которой могут быть равны только до n//2).Для каждого числа i вычислить числитель как n - i, и знаменатель как i.Найти НОД числителя и знаменателя с помощью алгоритма Евклида.Если числитель делится на НОД, и знаменатель делится на НОД, то полученная дробь является несократимой.Если текущая дробь больше maxFraction, обновить maxFraction.

Ниже приведен пример программы на C++, реализующей данный алгоритм:

#include <iostream>
using namespace std
int gcd(int a, int b)
if (a == 0
return b
return gcd(b % a, a)

void findMaxFraction(int n, int &numerator, int &denominator)
int maxFraction = 0
for (int i = 1; i <= n / 2; i++)
int numer = n - i
int denom = i
int commonDivisor = gcd(numer, denom)
if (numer % commonDivisor == 0 && denom % commonDivisor == 0)
if (denom > maxFraction)
maxFraction = denom
numerator = numer
denominator = denom



int main()
int n
cout << "Enter the sum of numerator and denominator: "
cin >> n
int numerator, denominator
findMaxFraction(n, numerator, denominator)
cout << "The largest irreducible fraction with numerator + denominator = " << n << " is: " << numerator << "/" << denominator << endl
return 0
}

Вы можете скомпилировать и запустить эту программу на своем компьютере, чтобы найти наибольшую правильную несократимую дробь с суммой числителя и знаменателя, равной n.

19 Апр в 11:31
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 90 559 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир