如何打印可被7整除的数字

时间:2016-12-06 21:03:13

标签: r

是否有任何功能可以让我检查x是否可被任何数字整除?我需要编写一个重复循环,其整数范围为1:100,并且还使用if函数将所有可从该范围整除的数字写入。 这是我到目前为止所得到的:

x <- 1
repeat {
    print(x)
    x = x+1
    if (x > 100) {
        break
    }
}

它只打印我需要的第一部分。

2 个答案:

答案 0 :(得分:14)

你不必完成所有这些。使用模运算符%%和R的矢量化之美。

which(1:100 %% 7 == 0)
# [1]  7 14 21 28 35 42 49 56 63 70 77 84 91 98

或者,如果你正在打码高尔夫,那就让它更短......

which(!1:100 %% 7)
# [1]  7 14 21 28 35 42 49 56 63 70 77 84 91 98

答案 1 :(得分:0)

如果要查找可被n数字整除的数字范围:

val n = Array.range(2000,3200).filter((i: Int) => i%7==0)
    print(n.mkString(","))

如果要查找可被n数字整除的数字范围,并在其上添加更多条件:

val n = Array.range(2000,3200).filter((i: Int) => i%7==0 && i%5!=0)
    print(n.mkString(","))

注意:如果使用List代替Array,那么结果也将是这样的:List(23,456,67,889…n)。但是,如果您使用Array,则会得到一个普通的逗号分隔值或使用的分隔符。