Помогите разобраться с циклом

Доброго времени суток. Искал в интернете задания на циклы. На этом сайте нашел пост с описанием работы циклов for, while, do ... while. С циклом for все понял, а вот с while разобрался, но не могу понять один аспект. Программа выводит на экран сумму чилел от 1 до 1000. Автор статьи обращает внимание на то, что в условии мы ставим строгое неравенство (пока i меньше 1000, цикл выполняется), так как происходит на одну итерацию больше...

i = 0;
sum = 0;
while (i < 1000) {
I++;
sum = sum + i;

Вопрос в том, почему именно строгое неравенство¿ Ведь задача складывает числа от 1 до 1000, а последняя итерация выполняется при i = 999, т.к 1000 не меньше 1000. И почему в цикле while все таки на одну итерацию больше¿

Можно переписать:

i = 1;
sum = 0;
while (i <= 1000) {
    sum = sum + i;
    ++i;
}

P.S. Возьмите число поменьше и на промокашке с карандашиком, выписывая все значения... в общем, поработайте компьютером.
P.P.S. Идея искать сумму чисел от 1 до 1000 с помощью цикла изначально неправильна и убога. Не делайте так в боевом коде.

MasterOfAlteran,
P.P.S. Идея искать сумму чисел от 1 до 1000 с помощью цикла изначально неправильна и убога. Не делайте так в боевом коде.

Тогда вы предлагаете использовть формулу арифметической прогрессии, или какой то другой вариант?

Тогда вы предлагаете использовть формулу арифметической прогрессии

Её родимую. То, что можно вычислить простой математической формулой, как правило, лучше любого варианта с циклами.

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.

Ответить

Вы можете использовать разметку markdown для оформления комментариев и постов. Используйте функцию предпросмотра для проверки корректности разметки.

Пожалуйста, оформляйте исходный код в соответствии с правилами разметки. Для того, чтобы вставить код в комментарий, скопируйте его в текстовое поле ниже, после чего выделите то, что скопировали и нажмите кнопку «код» в панели инструментов. Иначе ваш код может принять нечитаемый вид.

Либо производите оформление кода вручную, следующим образом:

``` #include <iostream> using namespace std; int main() { // ... } ```

Предпросмотр сообщения

Ваше сообщение пусто.