You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
2.6 KiB
95 lines
2.6 KiB
|
|
using System;
|
|
namespace TheGameExtreme.model
|
|
{
|
|
public class Fraction
|
|
{
|
|
public int Numerateur;
|
|
public int Denominateur;
|
|
|
|
public Fraction(int numerateur, int denominateur)
|
|
{
|
|
Numerateur = numerateur;
|
|
Denominateur = denominateur;
|
|
}
|
|
|
|
public bool isMultiple(Fraction fraction)
|
|
{
|
|
if (fraction.Numerateur == 1)
|
|
{
|
|
if (fraction.Denominateur != 1
|
|
&& fraction.Denominateur != Denominateur
|
|
&& Denominateur % fraction.Denominateur == 0)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
else if (fraction.Denominateur == 1)
|
|
{
|
|
if (fraction.Numerateur != 1
|
|
&& fraction.Numerateur != Numerateur
|
|
&& Numerateur % fraction.Numerateur == 0)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
else if (fraction.Numerateur == Numerateur)
|
|
{
|
|
if (fraction.Denominateur != Denominateur
|
|
&& Denominateur % fraction.Denominateur == 0)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
else if (fraction.Denominateur == Denominateur)
|
|
{
|
|
if (fraction.Numerateur != Numerateur
|
|
&& Numerateur % fraction.Numerateur == 0)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (Numerateur % fraction.Numerateur == 0)
|
|
{
|
|
return true;
|
|
}
|
|
if (Denominateur % fraction.Denominateur == 0)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public bool testDiviseurCommun(Fraction fraction)
|
|
{
|
|
if (PGCD(Numerateur, fraction.Numerateur) == Numerateur || PGCD(Denominateur, fraction.Denominateur) == Denominateur)
|
|
{
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
private int PGCD(int a, int b)
|
|
{
|
|
int temp = a % b;
|
|
if (temp == 0)
|
|
return b;
|
|
return PGCD(b, temp);
|
|
}
|
|
|
|
public decimal Result()
|
|
{
|
|
decimal result = (decimal)Numerateur / (decimal)Denominateur;
|
|
return result;
|
|
}
|
|
|
|
override public string ToString()
|
|
{
|
|
return Numerateur.ToString() + "/" + Denominateur.ToString();
|
|
}
|
|
}
|
|
}
|