int c = 0;
for(int i =1; i<6; i++){
c = i+c;
System.out.println(c);
Объясните пожалуйста по какому принципу здесь складывается i ? Почему она просто не получает значение +1 и какую роль здесь играет с?
Виталий Диль
5 уровень
Как ето работает?
Решен
Комментарии (7)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Михаил Скирда
5 января 2019, 00:06
int c = 0; - ты создаешь простую переменную типа int
for(int i =1; i<6; i++)
for - это цикл
int i = 1 - это простая переменная типа int
i<6 - пока i меньше шести делать c = i+c; и System.out.println(c);
i++ - по завершению цикла добавить к i единицу (1)
0
Armen Paronyan
25 ноября 2018, 18:13
/* Комментарий удален */
0
kto_toExpert
25 ноября 2018, 18:21
В смысле только последнее?
Будет выводить каждую итерацию то, что хранится в переменной c
И ещё, рубрика интристинг факты, можно делать так:
0
Armen Paronyan
26 ноября 2018, 11:32
Спасибо)
0
Виталий Диль
23 ноября 2018, 11:57
Спасибо всем!
0
hidden #598481
22 ноября 2018, 09:34решение
с = 0
// начало цикла
// шаг 1
i = 1
c = (i:)1 + (c:)0 = 1
// шаг 2
i = 2
c = (i:)2 + (c:)1 = 3
// шаг 3
i = 3
c = (i:)3 + (c:)3 = 6
// шаг 4
i = 4
c = (i:)4 + (c:)6 = 10
// шаг 5
i = 5
c = (i:)5 + (c:)10 = 15
// конец цикла
Другими словами, для каждого i находится сумма чисел от нуля до i.
1: 0 + 1 = 1
2: (0 + 1) + 2 = 3
3: ((0 + 1) + 2) + 3 = 6
4: (((0 + 1) + 2) + 3) + 4 = 10
5: ((((0 + 1) + 2) + 3) + 4) + 5 = 15
Это и есть роль переменной с.
Запись i++ здесь равносильна i = i + 1.
Запись c = c + i можно записать по-другому: c += i.
+7
Антон Кашников
22 ноября 2018, 08:24
i увеличчивается каждую иттерацию на один. это происходит в этой строке:
i++ - увеличение на 1. (инкремент)
с - получает своё текущее значение + значение i.
+1