| author | Christian Urban <urbanc@in.tum.de> | 
| Wed, 23 Oct 2019 22:23:10 +0100 | |
| changeset 665 | 81bb2db5e658 | 
| parent 650 | b34efa58f7d5 | 
| child 669 | e22b5faa7e66 | 
| permissions | -rw-r--r-- | 
| 365 
9b71dead1219
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 1 | def concat(A: Set[String], B: Set[String]) : Set[String] = | 
| 564 | 2 | for (x <- A ; y <- B) yield x ++ y | 
| 365 
9b71dead1219
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 3 | |
| 
9b71dead1219
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 4 | def pow(A: Set[String], n: Int) : Set[String] = n match {
 | 
| 
9b71dead1219
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 5 |   case 0 => Set("")
 | 
| 
9b71dead1219
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 6 | case n => concat(A, pow(A, n- 1)) | 
| 
9b71dead1219
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 7 | } | 
| 
9b71dead1219
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 8 | |
| 650 | 9 | val A = Set("1", "2", "3", "")
 | 
| 10 | val B = Set("1", "2", "3", "4", "5", "6", "")
 | |
| 11 | concat(A, B).size // -> 28 | |
| 12 | pow(B, 3).size | |
| 13 | ||
| 14 | ||
| 365 
9b71dead1219
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 15 | val A = Set("a", "b", "c", "d")
 | 
| 
9b71dead1219
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 16 | pow(A, 4).size // -> 256 | 
| 
9b71dead1219
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 17 | |
| 
9b71dead1219
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 18 | val B = Set("a", "b", "c", "")
 | 
| 572 | 19 | pow(B, 4) | 
| 365 
9b71dead1219
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 20 | pow(B, 4).size // -> 121 | 
| 638 | 21 | pow(B, 3).size | 
| 471 | 22 | |
| 23 | ||
| 397 
cf3ca219c727
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
365diff
changeset | 24 | val B2 = Set("a", "b", "c", "")
 | 
| 
cf3ca219c727
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
365diff
changeset | 25 | pow(B2, 3).size // -> 40 | 
| 
cf3ca219c727
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
365diff
changeset | 26 | |
| 365 
9b71dead1219
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 27 | val C = Set("a", "b", "")
 | 
| 
9b71dead1219
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 28 | pow(C, 2) | 
| 
9b71dead1219
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 29 | pow(C, 2).size // -> 7 | 
| 
9b71dead1219
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 30 | |
| 
9b71dead1219
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 31 | pow(C, 3) | 
| 
9b71dead1219
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 32 | pow(C, 3).size // -> 15 | 
| 525 | 33 | |
| 34 | ||
| 572 | 35 | //val A = Set("a", "b", "c", "d")
 | 
| 36 | //pow(A, 4).size | |
| 525 | 37 | |
| 572 | 38 | //val A = Set("a", "b", "c")
 | 
| 39 | //pow(A, 5).size | |
| 525 | 40 | |
| 572 | 41 | //val A = Set("a", "b", "")
 | 
| 42 | //pow(A, 5).size | |
| 564 | 43 | |
| 44 | ||
| 572 | 45 | for (n <- (0 to 6).toList) | 
| 46 | yield pow(B, n).size | |
| 577 | 47 | |
| 48 | ||
| 49 | ||
| 50 | ||
| 51 | ||
| 52 | val A = Set("a", "b", "c")
 | |
| 53 | pow(A, 3) | |
| 618 | 54 | pow(A, 3).size | 
| 577 | 55 | |
| 56 | val B = Set("a", "b", "")
 | |
| 57 | pow(B, 4) | |
| 618 | 58 | pow(B, 4).size |