我是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);
答案 0 :(得分:-1)
我已经意识到我的错误是多么愚蠢,首先我不知道为什么我在做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);