#How to implement Euclid's Algorithm
8 messages · Page 1 of 1 (latest)
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Fraction a = new Fraction(in.nextInt(), in.nextInt());
Fraction b = new Fraction(in.nextInt(),in.nextInt());
a.print();
b.print();
a.plus(b).print();
a.multiply(b).plus(new Fraction(5,6)).print();
a.print();
b.print();
in.close();
}
}
class Fraction{
int a,b;
Fraction(int a,int b)
{
this.a = a;
this.b = b;
}
double toDouble()
{
return (double)a/b;
}
Fraction plus(Fraction r)
{
Fraction s = new Fraction(r.a, r.b);
int h = s.b * a;
s.a *= b;
s.b *= b;
s.a += h;
return s;
}
Fraction multiply(Fraction r)
{
r.a *= a;
r.b *= b;
return r;
}
void print()
{
int h;
if(a >= b) h = gcd(a,b);
else h = gcd(b,a);
a /= h;
b /= h;
if(a%b == 0)
System.out.println(a/b);
else
System.out.println(a+"/"+b);
}
int gcd(int m,int n)
{
if(m%n==0) return n;
return gcd(n,m%n);
}
}```
remember to space out when typing number
Oh wow tysm
Could you explain your code to me please? I am confused right now.
what part uses euclids algorithm ?
the gcd function
member a in class is numerator
member b in class is denominator