Возьмем для начало самое большое шестизначное число, это 999999 Что бы условие выполнялось и при этом число-результат было самым большим будем смотреть каждый элемент условия: Есть хотя бы одна тройка и нет восьмерок - 999993 Есть хотя бы одна тройка и не больше двух девяток - 99883 Есть ровно две единицы и нет восьмерок - 999911 Есть ровно две единицы и не больше двух 9 - 998811
999993 - и есть самое большое число выполняющее условие (Есть хотя бы одна тройка ИЛИ Есть ровно две единицы) И (Нет восьмерок ИЛИ Не больше двух девяток)
Чтобы прекратить ввод чисел в массив нужно ввести число "-1". class ArrayMiddle{ public static void main(String args[]){ java.util.Scanner in = new java.util.Scanner(System.in); long eArray[] = new long[1]; while((eArray[eArray.length-1] = in.nextLong())!=-1){ long nArray[] = new long[eArray.length+1]; for(int nCell = 0; nCell<eArray.length; nCell++)nArray[nCell]=eArray[nCell]; eArray = nArray; } eArray[eArray.length-1] = 0; for(int cCell = 0; cCell<eArray.length-1; cCell++)eArray[eArray.length-1]+=eArray[cCell]; System.out.print(eArray[eArray.length-1]/(double)(eArray.length-1)); } }
Что бы условие выполнялось и при этом число-результат было самым большим будем смотреть каждый элемент условия:
Есть хотя бы одна тройка и нет восьмерок - 999993
Есть хотя бы одна тройка и не больше двух девяток - 99883
Есть ровно две единицы и нет восьмерок - 999911
Есть ровно две единицы и не больше двух 9 - 998811
999993 - и есть самое большое число выполняющее условие (Есть хотя бы одна тройка ИЛИ Есть ровно две единицы) И (Нет восьмерок ИЛИ Не больше двух девяток)
class ArrayMiddle{
public static void main(String args[]){
java.util.Scanner in = new java.util.Scanner(System.in); long eArray[] = new long[1];
while((eArray[eArray.length-1] = in.nextLong())!=-1){
long nArray[] = new long[eArray.length+1];
for(int nCell = 0; nCell<eArray.length; nCell++)nArray[nCell]=eArray[nCell];
eArray = nArray;
} eArray[eArray.length-1] = 0;
for(int cCell = 0; cCell<eArray.length-1; cCell++)eArray[eArray.length-1]+=eArray[cCell];
System.out.print(eArray[eArray.length-1]/(double)(eArray.length-1));
}
}