Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.97 KB | None | 0 0
  1. import UIKit
  2. import Foundation
  3.  
  4. var digits = 3...1000
  5.  
  6. var arr = Array([Int](digits.lowerBound..<digits.upperBound))
  7.  
  8. var divisibles = Array<Int>()
  9.  
  10. var permutablesArr = Array<Array<Character>>()
  11.  
  12.  
  13. for idx in arr {
  14. if(idx % 8 == 0) {
  15. if (idx % 10 == 0) {
  16. divisibles.append(idx)
  17. }
  18. }
  19. }
  20.  
  21. func arrCh(a: Array<Character>) -> Array<Character> {
  22. let arrC:Array<Character> = a
  23. let newStr = arrC.map({$0})
  24. return newStr
  25. }
  26.  
  27. //MARK: print our permutations as an array...
  28. func newPermute(n:Int, _ a: inout Array<Character>) -> Array<Character> {
  29. if n == 1 {print(a); return ["ryan".characters.first!]}
  30. for i in 0..<n-1 {
  31. newPermute(n: n-1, &a)
  32. swap(&a[n-1], &a[(n%2 == 1) ? 0 : i ])
  33. let newString = arrCh(a:a)
  34. permutablesArr.append(newString)
  35. }
  36.  
  37. return a
  38. }
  39.  
  40. //MARK: loop over all our divisible by 8 obvious numbers, and convert from array to int then push into new obj...
  41.  
  42. divisibles.flatMap{$0}.forEach { (anyNum : Int) -> () in
  43. let numToStr = String(anyNum)
  44. var strArr = Array(numToStr.characters)
  45. let c = arrCh(a: strArr)
  46. permutablesArr.append(c)
  47. var backInArr = Array<String>()
  48. for j in c {
  49. if let elm = j as Character? {
  50. let strs = String(elm)
  51. backInArr.append(strs)
  52. }
  53. }
  54. let list = backInArr.joined(separator: "")
  55. let lastPermutation = newPermute(n: strArr.count, &strArr)
  56.  
  57. }
  58.  
  59. var allPermutablesDivisibleBy8 = Array<Int>()
  60.  
  61. for item in permutablesArr {
  62. if let itm = item as Array<Character>? {
  63. let st = String(itm)
  64. let asInt = (st as NSString).integerValue
  65. if(asInt % 8 == 0) {
  66. allPermutablesDivisibleBy8.append(asInt)
  67. }
  68.  
  69. }
  70. }
  71.  
  72. print("//////////////////////All numbers from permutation & 3...1000 that are divisible by 8")
  73. allPermutablesDivisibleBy8 = Array(Set(allPermutablesDivisibleBy8))
  74.  
  75. print("divisible by \(allPermutablesDivisibleBy8.sorted())") // put back into incremental order...
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement