Advertisement
Guest User

MinuQ

a guest
Dec 16th, 2014
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.61 KB | None | 0 0
  1. case class MinuQ(m:Int, n:Int) {  
  2.   def gcd(a: Int,b: Int): Int = {
  3.     if(b==0)
  4.       a
  5.     else
  6.       gcd(b, a%b)
  7.   }
  8.   override def toString() = m.toString() +"/"+n.toString()
  9.   def +(a:MinuQ) = {
  10.       var mm = m*a.n + n*a.m
  11.       var nn = n*a.n
  12.       val d = gcd(nn,mm)
  13.       mm = mm/d
  14.       nn = nn/d
  15.       MinuQ(mm,nn)
  16.     }
  17.   def *(a:MinuQ) = {
  18.     var mm = m*a.m
  19.     var nn = n*a.n
  20.     val d = gcd(nn,mm)
  21.     mm = mm/d
  22.     nn = nn/d
  23.     MinuQ(mm,nn)
  24.   }
  25. }
  26.  
  27. object Prog2 extends App {
  28.   val a = MinuQ(1,4)
  29.   val b = MinuQ(1,4)
  30.   val c = a+b*b
  31.   printf("arv: %s\n", c.toString)
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement