2016-12-06 6 views
5

xが任意の数値で割り切れるかどうかを確認する関数はありますか?私は1:100の範囲の整数で繰り返しループを書く必要があり、関数がその範囲から7で割り切れるすべての数値を書き込む場合も使用する必要があります。 は、ここで私はこれまで得たものである:それは唯一私が必要なものの最初の部分を印刷し数字を7で割り切れる方法

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

答えて

13

すべてを行う必要はありません。モジュロ演算子%%と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

は何ですか!コードの2番目のチャンクでやっている? – Kristofersen

+2

@Kristofersen - '1:100 %% 7'の結果を否定しているので、ゼロは論理的に(つまり論理的にFALSEなので)TRUEになります。そうでなければFALSEを返します。 –

+0

Crazy、ありがとう。 – Kristofersen

関連する問題