2015-08-04 3 views
2

Как я могу сделать цикл с использованием while для вычисления суммы 1 + 2 + 3 + ... + 300 и распечатать результаты только каждые 20 итераций.цикл с while без печати всех итераций

Я tryied построить команду ниже, но это не работает:

soma_300=0 
i=0 
while(i< 300){ 
    if (i/20 == integer) { 
    print(i) 
    } 
    i=i+1 

    soma_300=soma_300+i 
} 
soma_300 
+0

Какой язык вы используете? – tompave

+0

Извините! Я использую R. Спасибо! – JETR

ответ

1

Я думаю, что вы можете попробовать использовать другой счетчик, как этот

soma_300=0 
i=0 
c=0 
while(i< 300) { 
    i=i+1 
    soma_300=soma_300 + i 
    c=c+1 
    if (c == 20) { 
    print(i) 
    c = 0 
    } 
} 
1

Вы хотите, чтобы проверить, Остальная часть раздела i от 20 - 0. Для этого вы хотите использовать %%.

soma_300=0 
i=0 

while(i < 300){ 
    if (i %% 20 == 0) { 
    print(i) 
    } 
    i=i+1 

    soma_300=soma_300+i 
} 
[1] 0 
[1] 20 
[1] 40 
[1] 60 
[1] 80 
[1] 100 
[1] 120 
[1] 140 
[1] 160 
[1] 180 
[1] 200 
[1] 220 
[1] 240 
[1] 260 
[1] 280 
0

Я не знаком с R, но вы можете попробовать с оператором модуля %%.
Это похоже на работу:

sum = 0 
i = 0 

while(i < 300) { 
    if (i %% 20 == 0) { 
    print(i) 
    } 
    i = i + 1 

    sum = sum + i 
} 
sum