рд╕реНрд╡рд┐рдлреНрдЯ: рдПрд╡рд░реЛрд╕реНрдЯреЛрдиреЗрд╕ рдХреА рдЫрд▓рдиреА

рдпрд╣ рдПрдХ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рдкреНрд░рдХрд╛рд╢рди рд╣реЛрдЧрд╛, рдЬрд┐рд╕реЗ рдореИрдВ рдЗрд╕ рд▓реЗрдЦ рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рдерд╛ ред рдирд╣реАрдВ, рдореИрдВ рд╡рд╣рд╛рдВ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди (рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЛ рдЫреЛрдбрд╝рдХрд░) рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзрд╛ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд╕реНрд╡рд┐рдлреНрдЯ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ, рдпрд╣ рд╡реНрдпрд╛рдкрдХрддрд╛ рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ред

рд╕рдорд╛рдзрд╛рди рдмрд┐рд▓реНрдХреБрд▓ рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдВрд╢реЛрдзрди рдХреЗ рджреЛрд╣рд░рд╛рддрд╛ рд╣реИред

import Foundation //   extension Int { func powerOf2() -> Int { return self * self } } //   ? let max = 8_500_000 //    var testValue = 2 let startTime = Date() //   var data = (2...max).map{$0} let allocationTime = Date() //  while (testValue.powerOf2() <= max) { data.removeAll(where: {$0 >= testValue.powerOf2() && $0.isMultiple(of: testValue)}) testValue = data.first(where: {$0 > testValue})! } let overallTime = Date() //   print(" \(data.count)  : ", data) print() print(" : \(String(format: "%.2f",(allocationTime.timeIntervalSince(startTime)))) . ") print(": \(String(format: "%.2f",(overallTime.timeIntervalSince(allocationTime)))) . ") print(": \(String(format: "%.2f",(overallTime.timeIntervalSince(startTime)))) . ") 

рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЗ рдЗрд╕ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдореЗрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдЦреЗрд▓ рд╕рдХрддреЗ рд╣реИрдВ ред рдЕрдзрд┐рдХрддрдо рдЬреЛ рдореИрдВ рд╡рд╣рд╛рдВ рдирд┐рдЪреЛрдбрд╝рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ - 8,500,000 рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ, рдЦреЛрдЬ рдореЗрдВ рд▓рдЧрднрдЧ 6 рд╕реЗрдХрдВрдб рд▓рдЧрддреЗ рд╣реИрдВред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореЗрд░реЗ рдореИрдХ рдорд┐рдиреА рд▓реЗрдЯ 2014 (рдХреЛрд░ i5, 8 рдЬреАрдмреА) рдкрд░ рдЦреЗрд▓ рдХреЗ рдореИрджрд╛рди рдореЗрдВ рдЗрд╕ рдХреЛрдб рдХреЛ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдзрд┐рдХрддрдо = 1,000,000 рдкреИрд░рд╛рдореАрдЯрд░ рдЬрдВрдЧрд▓реА рдмреНрд░реЗрдХ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВред рдКрдкрд░ рджрд┐рдП рдЧрдП рд▓рд┐рдВрдХ рдкрд░, рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рддреЗрдЬреА рд╕реЗ рдШреВрдорддрд╛ рд╣реИред

Source: https://habr.com/ru/post/hi450888/


All Articles