我是swift的新手,想创建一个方法,将一个整数作为其参数,并使用栅栏循环打印该数字的因子。这应该用单词"and"隔开。
例如,调用printFactors(24)应该打印以下输出:1, 2, 3, 4, 6, 8, 12, 24
思考后;我知道如何在swift语言之外做到这一点;但需要快速的帮助。
这是我在考虑swift语言之前得出的结论。
public void printFactors(int n) {
for (int i=1; i <=n; i++) {
if (n % i == 0) {
if (i == 1) {
System.out.print(i);
}
else {
System.out.print(" and " + i);
}
}
}
}
非常感谢帮助。此外,我将如何采取"解决方案",并输出它作为标签?我要把解设为变量吗?
我同意@rmaddy的观点,Stack Overflow不是免费的代码翻译。但是,我手头刚好有类似的代码,只需要做一些小小的修改:
func factor(number: Int) -> String {
var string = ""
for i in 1...number {
if number % i == 0 {
if i == 1 {
string += "(i)"
} else {
string += "and (i)"
}
}
}
return string
}
使用:let output = factor(number: 24)
print(output) // 1 and 2 and 3 and 4 and 6 and 8 and 12 and 24
或带标签:
let outputText = factor(number: 24)
label.text = outputText
希望这对你有帮助!
func printFactors(n: Int) {
var result: String = ""
for i in 1...n {
guard n % i == 0 else {continue}
result += i == 1 ? "1" : " and (i)"
}
print(result)
}
printFactors(24)