应用程序的快速代码将整数转换为因子

时间:2016-10-19 22:08:14

标签: swift integer solution factors

我是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?

2 个答案:

答案 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

希望这有帮助!