Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- object tutorialOne {
- def main(args:Array[String]):Unit = {
- def primeFactors(z: Int):List[Int] = {
- var a = z
- var factors = List[Int]()
- // Invariant: All prime factors of z up to i-1 are in the list
- var i = 2
- while (i * i <= a){
- // All prime factors equal to i are removed
- while (a % i == 0){
- factors = i :: factors
- a /= i
- }
- i += 1
- }
- if (a > 1)
- factors = a :: factors
- factors = factors.reverse
- factors
- }
- def primeList(input: List[Int]):List[Int] = {
- var primes = List[Int]()
- val l = input.length
- // Invariant: All primes in the first i elements of the input
- // are in the output list.
- var a = List[Int]()
- var b:Int = 0
- for (i <- 0 to (l-1)) {
- a = primeFactors(input(i))
- b = a.length
- if (b == 1) {input(i) :: primes}
- }
- primes = primes.reverse
- primes
- }
- // def bubblesort(ar: Array[Int]):Array[Int] = {
- // out = ar;
- // }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement