微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

预期返回“Int”的函数中缺少返回值 - 最大公约数

如何解决预期返回“Int”的函数中缺少返回值 - 最大公约数

这是我的代码

    import UIKit
    
    func gcd(_ a: Int,_ b: Int) -> (Int) {
        if a == b {
            return a
        } else if a > b {
            gcd(a - b,b)
        } else {
            gcd(a,b - a)
        }
    }
    gcd(9,6)

算法是这样工作的:

9 6
3 6
3 3

当我做 print(a) 时它给了我一个正确的答案,但当我做 return 时它没有给我结果。

解决方法

您错过了最后 2 个案例中的 return

func gcd(_ a: Int,_ b: Int) -> Int {
    if a == b {
       return a
    } else if a > b {
       return gcd(a - b,b)
    } else {
       return gcd(a,b - a)
    }
}

打电话

print(gcd(9,6))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。