gpt4 book ai didi

swift - 'for index'与传统 'for loop'的区别

转载 作者:搜寻专家 更新时间:2023-10-31 21:49:23 27 4
gpt4 key购买 nike

我是 Swift 的新手,也是编程新手。我不确定是不是因为现在是凌晨 2 点 34 分,但有人可以帮我确定这两个循环之间的区别吗?

第一个是产生我想要的值但使用(正如 Swift 文档所解释的那样)一个“传统的 C 循环”,其中后一个是使用 Swift 首选的“for index”循环(我个人喜欢因为我更清楚),问题是这个循环返回每个数字而不是满足条件。

func findLargestPrimeFactor(number: Int) {
for var i = 2; i < number; i += i {
if number/i % 1 > 0 {

} else {
print(i);
}
}
}

findLargestPrimeFactor(13195);

下面是将每个数字返回到 13195

func findLargestPrimeFactor(number: Int) {
for i in 2...number {
if number/i % 1 > 0 {

} else {
print(i);
}
}
}

findLargestPrimeFactor(13195);

最佳答案

我已经意识到我的错误是多么愚蠢,首先我不知道我为什么要这样做 i += i,那根本就没有意义。

此外,我的条件从未被满足,因为我在真正需要 Float 时将其声明为 Int,因为我关心余数!

编辑:我再次更新了我的代码(考虑了每个人的反馈),我对此感觉好多了,并将继续研究解决方案。

感谢大家的帮助!

更新代码

func findLargestPrimeFactor(number: Int) {
for i in 2...number {
var n = Float(number)
var count = Float(i)
if n/count % 1 > 0 {
print("not divisible")
} else {
print(i)
}
}
}

findLargestPrimeFactor(13195);

关于swift - 'for index'与传统 'for loop'的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35228008/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com