我是Swift的新手,對編程很新穎。我不確定是因爲它是上午2:34,但有人能幫我找出這兩個循環之間的區別嗎?'for index'和傳統'for循環'之間的區別
第一個是我想要使用的值(正如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'。 – Moritz
附註:'number/i%1> 0'沒有意義,因爲它從來都不是真的。您的函數都不計算給定數字的最大素數因子。 - 你在https://projecteuler.net/problem=3上工作嗎? :) –
@MartinR你完全正確,我意識到這是因爲我提交了我的問題,但不想太早編輯它,直到我有解決方案。我覺得現在很愚蠢(就像我提到的那樣,它已經很晚了:p) –