sách gpt4 ai đã đi

swift - 欧拉计划第 2 题,斐波那契数的 Swift Sum 低于 400 万

In lại 作者:行者123 更新时间:2023-11-28 11:31:31 29 4
mua khóa gpt4 Nike

我是编码的新手,正在尝试通过完成 Project Euler 问题来学习 Swift。我似乎有导致大量错误的不同版本的 Swift 代码。如果您对我的问题的格式有任何建议以供将来引用,请告诉我,谢谢。

下面是我看过的一些例子。

示例 1

    let nextState = { (state: inout T) -> T? in
// Return `nil` if condition is no longer satisfied:
guard condition(state) else { return nil }
// Update current value _after_ returning from this call:
defer { state = next(state) }
// Return current value:
return state
}
return sequence(state: first, next: nextState)
}

示例 2

// F[n] = F[n-1] + F[n-2]
// 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144
// Find the fibonacci number for n interations
func fibonacci(n: Int) {

var num1 = 0
var num2 = 1

for _ in 0 ..< n {

let num = num1 + num2
num1 = num2
num2 = num
}

print("result = \(num2)")
}
fibonacci(7)


// Using Recursion
func fibonacciRecursiveNum1(num1: Int, num2: Int, steps: Int) {

if steps > 0 {
let newNum = num1 + num2
fibonacciRecursiveNum1(num2, num2: newNum, steps: steps-1)
}
else {
print("result = \(num2)")
}
}
fibonacciRecursiveNum1(0, num2: 1, steps: 7)

示例 3

    return SequenceOf { _ -> GeneratorOf in
var (a, b) = (1, 0)
return GeneratorOf {
(b, a) = (a, b + a)
if b > max { return nil }
return b
}
}
}


let sum = reduce(fibonacciTo(4_000_000), 0) {a, n in (n % 2 == 0) ? a + n : a }

在我看过的人的代码示例中,我遇到了一些错误,我认为这些错误与 Swift 的不兼容版本有关。

1 Câu trả lời

首先,你的例子已经过时了。从 Swift 3 开始,第一个参数标签是必需的

fibonacci(n: 7)

fibonacciRecursiveNum1(num1: num2, num2: newNum, steps: steps-1)

...

fibonacciRecursiveNum1(num1 : 0, num2: 1, steps: 7)

其次,Int64 值中 Fibonacci 迭代的最大值为 91、92 及以上超出 64 位范围并导致崩溃。

关于swift - 欧拉计划第 2 题,斐波那契数的 Swift Sum 低于 400 万,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56548239/

29 4 0
Bài viết được đề xuất: javascript 模式匹配对象
Bài viết được đề xuất: jquery - 向下滚动时修复 Bootstrap 侧面板
Bài viết được đề xuất: JQuery 添加类到菜单
Bài viết được đề xuất: javascript - HTML 初学者与 Javascript;代码未运行
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com