Мне интересно, как обработать это выражение с помощью swift. Я сделал это в рубине следующим образом:
def disperseValueIntoNSpaces(n,m)
accum = 0
dispersedValue = []
for k in 0...m
valCrt = ((n*(m-k))/m+0.5)-((n*(m-k-1))/m+0.5)
dispersedValue.push(valCrt.to_i)
accum += valCrt
end
return dispersedValue
end
и перевел его в swift так:
func disperseValueIntoNSpaces(numOfRows: Int, spaces: Int) -> [Int] {
var accum: Int = 0
var n: Float = Float(numOfRows)
var m: Float = Float(spaces)
var dispersedValues: [Int] = []
for k in (0...spaces) {
let valCrt = ((n*(m-k))/m)+0.5) - ((n*(m-k-1))/m+0.5)
// error: expected expression
// error: Binary operator '-' cannot be applied to operands of type 'Float' and 'Int'
// error: Consecutive statements on a line must be separated by ';'
dispersedValues.append(Int(valCrt))
accum += valCrt
}
return dispersedValues
}
Этот Float минус ошибка Int достаточно легко исправить, но я не уверен, как составить математическое уравнение