Программа:
int i=1, s=0;
while (i<=100)
{
s+=i;
i++;
}
System.out.printf(“/ns=%d i=%d”,s, i);
Результат решения задачи:
s=5050 i=101
Таким образом, выходим из этого цикла со значением i не 100, а 101.
Вместо цепочки:
s+=i;
i++;
можно использовать один оператор:
s+=i++;
Этот цикл можно превратить в бесконечный, если после условия поставить точку с запятой:
int i=1, s = 0;
while (i<=100);
{
s += i;
i++;
}
System.out.printf(“/ns=%d i=%d”,s, i);
Значение переменной i в этом случае меняться не будет – она останется равной единице, и поэтому условие (i<=100)всегда истинно.
2. вычислить сумму s всех цифр заданного натурального числа n
Пусть s – искомая сумма,
i – очередная цифра числа.
Тогда алгоритм решения задачи можно описать следующим образом:
1. обнуляем сумму s=0,
2. берем последнюю цифру числа, для чего определяем остаток от деления исходного числа на 10: i = n % 10,
3. добавляем в сумму найденную цифру: s = s + i,
4. уменьшаем число в 10 раз: n = n / 10,
5. повторяем цикл до тех пор, пока n > 0 – это и будет условием продолжения цикла.
Схема алгоритма: