Advertisement
Guest User

Untitled

a guest
Oct 8th, 2015
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 4.54 KB | None | 0 0
  1. object session {
  2.   import scala.math._
  3.   println("Welcome to the Scala worksheet")       //> Welcome to the Scala worksheet
  4.  
  5.   def solve(a: Double, b: Double, c: Double): Any = {
  6.     val pregroup = (b * b) - 4 * a * c
  7.     if (pregroup < 0) {
  8.       return null
  9.     }
  10.     val group = sqrt(pregroup)
  11.     val end1 = (-b + group) / (2 * a)
  12.     val end2 = (-b - group) / (2 * a)
  13.     if (end1 == end2) {
  14.       return end1
  15.     }
  16.     val endAll = (end1, end2)
  17.     return endAll
  18.   }                                               //> solve: (a: Double, b: Double, c: Double)Any
  19.  
  20.   solve(1.0, 6, 8)                                //> res0: Any = (-2.0,-4.0)
  21.   solve(1, -8, 16)                                //> res1: Any = 4.0
  22.   solve(1, 0, 16)                                 //> res2: Any = null
  23.  
  24.   def dist(a: (Double, Double), b: (Double, Double)): Double = {
  25.     var (pairAA, pairAB) = a
  26.     var (pairBA, pairBB) = b
  27.  
  28.     var halfA = (pairBA - pairAA) * (pairBA - pairAA)
  29.     var halfB = (pairBB - pairAB) * (pairBB - pairAB)
  30.  
  31.     var end = sqrt(halfA + halfB)
  32.     return end
  33.   }                                               //> dist: (a: (Double, Double), b: (Double, Double))Double
  34.  
  35.   dist((1, 1), (0, 0))                            //> res3: Double = 1.4142135623730951
  36.   dist((3, 0), (0, 0))                            //> res4: Double = 3.0
  37.  
  38.   def dot(a: (Double, Double, Double), b: (Double, Double, Double)): Double = {
  39.     var (pairAA, pairAB, pairAC) = a
  40.     var (pairBA, pairBB, pairBC) = b
  41.  
  42.     var end = pairAA * pairBA + pairAB * pairBB + pairAC * pairBC
  43.     return end
  44.   }                                               //> dot: (a: (Double, Double, Double), b: (Double, Double, Double))Double
  45.  
  46.   dot((2.0, 3, 4), (2, 2.0, 2))                   //> res5: Double = 18.0
  47.  
  48.   def force(a: Double, b: Double, c: Double): Double = {
  49.     var g = 10
  50.     return (g * a * b) / (c * c)
  51.   }                                               //> force: (a: Double, b: Double, c: Double)Double
  52.  
  53.   force(10, 15, 10)                               //> res6: Double = 15.0
  54.  
  55.   def mean(a: Array[Double]): Double = {
  56.     var i, total = 0.0
  57.     for (x <- a) {
  58.       total += x
  59.     }
  60.     return total / a.length
  61.   }                                               //> mean: (a: Array[Double])Double
  62.  
  63.   mean(Array(2.0, 3, 4, 5))                       //> res7: Double = 3.5
  64.  
  65.   def stdDev(a: Array[Double]): Double = {
  66.     var b = new Array[Double](a.length)
  67.     var mean1 = mean(a)
  68.     var i = 0
  69.     for (i <- 0 to a.length - 1) {
  70.       b(i) = (mean1 - a(i)) * (mean1 - a(i))
  71.     }
  72.     mean1 = mean(b)
  73.     return sqrt(mean1)
  74.   }                                               //> stdDev: (a: Array[Double])Double
  75.  
  76.   stdDev(Array(9, 2, 5, 4, 12, 7, 8, 11, 9, 3, 7, 4, 12, 5, 4, 10, 9, 6, 9, 4))
  77.                                                   //> res8: Double = 2.9832867780352594
  78.  
  79.   def isPrime(a: Int): Boolean = {
  80.     if (a < 3) return true
  81.     var i = 0
  82.     for (i <- 2 to a / 2) {
  83.       if (a % i == 0) return false
  84.     }
  85.     return true
  86.   }                                               //> isPrime: (a: Int)Boolean
  87.  
  88.   isPrime(0)                                      //> res9: Boolean = true
  89.   isPrime(1)                                      //> res10: Boolean = true
  90.   isPrime(11)                                     //> res11: Boolean = true
  91.   isPrime(4)                                      //> res12: Boolean = false
  92.   isPrime(5)                                      //> res13: Boolean = true
  93.  
  94.   def gcd(a: Int, b: Int): Int = {
  95.     if (b == 0) a else gcd(b, a % b)
  96.   }                                               //> gcd: (a: Int, b: Int)Int
  97.   def phi(a: Int): Int = {
  98.     var i, counter = 0
  99.     for (i <- 1 to a - 1) {
  100.             if (gcd(i,a) == 1) counter = counter + 1
  101.     }
  102.   return counter
  103.   }                                               //> phi: (a: Int)Int
  104.  
  105.   phi(9)                                          //> res14: Int = 6
  106.   phi(10)                                         //> res15: Int = 4
  107.    
  108.   def rollDice(): (Int, Int) = {
  109.   var result = (0, 0)
  110.   var generator = scala.util.Random
  111.   var int1 = (abs(generator.nextInt() % 6)) + 1
  112.   var int2 = (abs(generator.nextInt() % 6)) + 1
  113.   return (int1, int2)
  114.   }                                               //> rollDice: ()(Int, Int)
  115.  
  116.   rollDice                                        //> res16: (Int, Int) = (5,1)
  117.   rollDice                                        //> res17: (Int, Int) = (4,6)
  118.   rollDice                                        //> res18: (Int, Int) = (2,2)
  119.  
  120. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement