我是swift的新手,想要创建一个以整数作为参数的方法,并使用fencepost循环打印该数字的因子。 这应该用“和”这个词分隔。
例如,调用printFactors(24)应该打印以下输出: 1和2以及3和4以及6和8以及12和24
思考之后;我明白如何在快速语言之外做到这一点;但需要迅速帮助它。
这是我在考虑快速语言之前得出的结论。
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);
}
}
}
}
非常感谢帮助。另外我如何采用“解决方案”并将其输出为标签?我会将解决方案设置为var?
答案 0 :(得分:0)
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)
答案 1 :(得分:0)
我同意@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
希望这有帮助!