Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- object session {
- import scala.math._
- println("Welcome to the Scala worksheet") //> Welcome to the Scala worksheet
- def solve(a: Double, b: Double, c: Double): Any = {
- val pregroup = (b * b) - 4 * a * c
- if (pregroup < 0) {
- return null
- }
- val group = sqrt(pregroup)
- val end1 = (-b + group) / (2 * a)
- val end2 = (-b - group) / (2 * a)
- if (end1 == end2) {
- return end1
- }
- val endAll = (end1, end2)
- return endAll
- } //> solve: (a: Double, b: Double, c: Double)Any
- solve(1.0, 6, 8) //> res0: Any = (-2.0,-4.0)
- solve(1, -8, 16) //> res1: Any = 4.0
- solve(1, 0, 16) //> res2: Any = null
- def dist(a: (Double, Double), b: (Double, Double)): Double = {
- var (pairAA, pairAB) = a
- var (pairBA, pairBB) = b
- var halfA = (pairBA - pairAA) * (pairBA - pairAA)
- var halfB = (pairBB - pairAB) * (pairBB - pairAB)
- var end = sqrt(halfA + halfB)
- return end
- } //> dist: (a: (Double, Double), b: (Double, Double))Double
- dist((1, 1), (0, 0)) //> res3: Double = 1.4142135623730951
- dist((3, 0), (0, 0)) //> res4: Double = 3.0
- def dot(a: (Double, Double, Double), b: (Double, Double, Double)): Double = {
- var (pairAA, pairAB, pairAC) = a
- var (pairBA, pairBB, pairBC) = b
- var end = pairAA * pairBA + pairAB * pairBB + pairAC * pairBC
- return end
- } //> dot: (a: (Double, Double, Double), b: (Double, Double, Double))Double
- dot((2.0, 3, 4), (2, 2.0, 2)) //> res5: Double = 18.0
- def force(a: Double, b: Double, c: Double): Double = {
- var g = 10
- return (g * a * b) / (c * c)
- } //> force: (a: Double, b: Double, c: Double)Double
- force(10, 15, 10) //> res6: Double = 15.0
- def mean(a: Array[Double]): Double = {
- var i, total = 0.0
- for (x <- a) {
- total += x
- }
- return total / a.length
- } //> mean: (a: Array[Double])Double
- mean(Array(2.0, 3, 4, 5)) //> res7: Double = 3.5
- def stdDev(a: Array[Double]): Double = {
- var b = new Array[Double](a.length)
- var mean1 = mean(a)
- var i = 0
- for (i <- 0 to a.length - 1) {
- b(i) = (mean1 - a(i)) * (mean1 - a(i))
- }
- mean1 = mean(b)
- return sqrt(mean1)
- } //> stdDev: (a: Array[Double])Double
- stdDev(Array(9, 2, 5, 4, 12, 7, 8, 11, 9, 3, 7, 4, 12, 5, 4, 10, 9, 6, 9, 4))
- //> res8: Double = 2.9832867780352594
- def isPrime(a: Int): Boolean = {
- if (a < 3) return true
- var i = 0
- for (i <- 2 to a / 2) {
- if (a % i == 0) return false
- }
- return true
- } //> isPrime: (a: Int)Boolean
- isPrime(0) //> res9: Boolean = true
- isPrime(1) //> res10: Boolean = true
- isPrime(11) //> res11: Boolean = true
- isPrime(4) //> res12: Boolean = false
- isPrime(5) //> res13: Boolean = true
- def gcd(a: Int, b: Int): Int = {
- if (b == 0) a else gcd(b, a % b)
- } //> gcd: (a: Int, b: Int)Int
- def phi(a: Int): Int = {
- var i, counter = 0
- for (i <- 1 to a - 1) {
- if (gcd(i,a) == 1) counter = counter + 1
- }
- return counter
- } //> phi: (a: Int)Int
- phi(9) //> res14: Int = 6
- phi(10) //> res15: Int = 4
- def rollDice(): (Int, Int) = {
- var result = (0, 0)
- var generator = scala.util.Random
- var int1 = (abs(generator.nextInt() % 6)) + 1
- var int2 = (abs(generator.nextInt() % 6)) + 1
- return (int1, int2)
- } //> rollDice: ()(Int, Int)
- rollDice //> res16: (Int, Int) = (5,1)
- rollDice //> res17: (Int, Int) = (4,6)
- rollDice //> res18: (Int, Int) = (2,2)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement