Написать программу на C#. Даны две рациональные дроби: a/b и c/d. Сложите их и результат представьте в виде несократимой дроби m/n.
числитель суммы = (a * d) + (b * c)
знаменатель суммы = b * d
После получения числителя и знаменателя суммы, нужно проверить, является ли дробь сократимой. Для этого нужно найти наибольший общий делитель (НОД) числителя и знаменателя суммы. Если НОД равен 1, то дробь несократима, в противном случае дробь сократима.
Для нахождения НОД двух чисел можно воспользоваться алгоритмом Эвклида:
csharp
int GCD(int a, int b)
{
if (b == 0)
return a;
return GCD(b, a % b);
}
Если дробь сократима, необходимо упростить её до несократимого вида. Для этого делим числитель и знаменатель на их НОД:
csharp
числитель /= gcd;
знаменатель /= gcd;
После выполнения всех шагов получаем несократимую дробь в виде числителя и знаменателя m/n.
Вот полный код программы на C# для решения поставленной задачи:
csharp
using System;
class Program
{
static void Main()
{
// Ввод дробей a/b и c/d
Console.Write("Введите числитель a: ");
int a = int.Parse(Console.ReadLine());
Console.Write("Введите знаменатель b: ");
int b = int.Parse(Console.ReadLine());
Console.Write("Введите числитель c: ");
int c = int.Parse(Console.ReadLine());
Console.Write("Введите знаменатель d: ");
int d = int.Parse(Console.ReadLine());
// Вычисление суммы дробей
int numeratorSum = (a * d) + (b * c);
int denominatorSum = b * d;
// Проверка, является ли дробь сократимой
int gcd = GCD(numeratorSum, denominatorSum);
bool isReducible = gcd != 1;
// Если дробь сократима, упрощаем её
if (isReducible)
{
numeratorSum /= gcd;
denominatorSum /= gcd;
}
// Вывод результата
Console.WriteLine("Сумма дробей: {0}/{1}", numeratorSum, denominatorSum);
}
// Нахождение наибольшего общего делителя (алгоритм Эвклида)
static int GCD(int a, int b)
{
if (b == 0)
return a;
return GCD(b, a % b);
}
}
Пример работы программы:
Введите числитель a: 2
Введите знаменатель b: 3
Введите числитель c: 4
Введите знаменатель d: 5
Сумма дробей: 22/15
Таким образом, программа на C# позволяет сложить две рациональные дроби и представить результат в виде несократимой дроби.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет