package com.javarush.task.task07.task0706;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/*
Улицы и дома
*/
public class Solution {
public static void main(String[] args) throws IOException {
//напишите тут ваш код
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int [] num = new int [15];
int odd = 0; //нечетные храним здесь
int even = 0; //четные храним здесь
for (int i = 0; i < num.length; i++){
num [i] = Integer.parseInt(br.readLine());
}
for (int i = 0; i < num.length; i++) {
if (i%2==0 || i==0){
even++; //добавляем +1 к четным
}
else odd++; //добавляем +1 к нечетным
}
String res = even > odd ? "четными" : "нечетными";
System.out.println("В домах с " + res + " номерами проживает больше жителей.");
}
}
У меня есть одно подозрение: связано ли это с even++ и odd++? hidden #2103665
10 уровень
Результат верный, но не проходит валидацию
Архивный
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #2103665
11 июля 2019, 10:16
С таким вариантом заработало, подсмотрел у других:
Но вопрос остался, почему просто нельзя использовать переменные как счетчик и инкрементировать его? Результат вроде тот же получается, я не совсем понимаю этот момент. 0
IceBergMaster
11 июля 2019, 10:22полезный
инкрементировать? Это значит, что в каждом доме живет по одному жильцу?
Результат будет тот же, только в том случае, если ты заполняешь список единицами.
+1
hidden #2103665
11 июля 2019, 10:32
Я кажись понял, условие задачи похоже сразу не воспринял. То жильцы, то дома. У меня был такой вариант еще, самый первый:
Здесь получается я проверял четных/нечетных жильцов, а не дома. Нужно просто "i". Но в переменную even или odd мы уже записываем жильцов, собственно поэтому even+=num[i], а не even++.
Горячий кофе взбодрил. :) +1