Как мне сложить все числа 1: 1000 в цикле for? - PullRequest
2 голосов
/ 13 октября 2019

Я учу себя R, и я использую рабочий лист и приступил к изучению циклов:

Я понимаю, что в основном это написано так:

for (value in vector) {
   statements
}

IПробовал разные методы и смотрел онлайн, но меня это просто смущает. Кто-нибудь может помочь?

Q60. сложите все числа от 1 до 1000, используя функцию sum()

sum(1:1000)

хорошо, достаточно просто ...

Q61. сложите все числа от 1 до 1000, используя цикл for ???

for(i in c(1:1000)){print(sum(i))}

не работает.

Я пытаюсь получить 500500.

Ответы [ 2 ]

2 голосов
/ 13 октября 2019

Если вам действительно нужно использовать цикл for, вы можете сделать это:

> sum <- 0
> for(i in 1:1000) {
+   sum <- sum+i
+ }
> sum
[1] 500500
2 голосов
/ 13 октября 2019

Вы можете избежать цикла for и использовать cumsum():

max(cumsum(1:1000))

[1] 500500

Или вы можете использовать Reduce() с accumulate = FALSE (как предложено @Bulat):

Reduce("+", 1:1000, accumulate = FALSE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...