Задача
Задан массив вещественных чисел. Найти первый элемент массива, значение которого не превышает 2.5.
Входные данные
В первой строке задано количество элементов массива $n\left ( 0 < n \leq 100 \right )$. В следующей строке задано $n$ вещественных чисел.
Выходные данные
Вывести в одной строке сначала индекс найденного первого указанного элемента массива и его значение с 2 десятичными знаками. В случае отсутствия такого элемента в массиве вывести «Not Found» (без кавычек).
Тесты
Входные данные | Выходные данные |
$5 \\ 6 \ 7.5\ 2.1 \ 2.0 \ 0$ | $3 \ 2.10$ |
$5 \\ 6 \ 7.5 \ 5.1 \ 7.0 \ 80$ | $Not \ Found$ |
$7 \\ 5 \ 4.7 \ 50 \ 8.9 \ 2.7 \ 3 \ 1.5$ | $7 \ 1.5$ |
Решение задачи с помощью потоковой обработки
Код программы
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
import java.util.*; import java.lang.*; import java.io.*; class Main { public static void main (String[] args) throws java.lang.Exception { double n; int size; boolean checker = false; Scanner in = new Scanner(System.in); size = in.nextInt(); for (int i = 0; i < size && checker == false; i++) { n = in.nextDouble(); if (n <= 2.5) { System.out.print(i + 1 + " "); System.out.printf("%.2f", n); checker = true; } } if(checker == false) { System.out.println("Not Found"); } } } |
Решение задачи
Будем просматривать все веденные элементы и для каждого осуществлять проверку, если элемент не превышает 2.5, тогда в ответе выводим в одной строке сначала индекс найденного первого указанного элемента и его значение с 2 десятичными знаками. Если же такого элемента нет, выводим на экран $Not \ Found.$
Решение задачи с помощью массивов
Код программы
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
import java.util.*; import java.lang.*; import java.io.*; class Main { public static void main (String[] args) throws java.lang.Exception { Scanner in = new Scanner(System.in); int n = in.nextInt(); double[] x = new double[n]; for (int i = 0; i < n; i++) { x[i] = in.nextDouble(); } boolean checker = false; for (int i = 0; i < n; i++) { if (x[i] <= 2.5 && checker == false) { System.out.print(i + 1 + " "); System.out.printf("%.2f", x[i]); checker = true; } } if (checker == false) { System.out.println("Not Found"); } } } |
Решение задачи
Введем обозначения: $x$ – имя массива, $n$ – количество элементов в массиве, $i$ – индекс элемента массива. Нам необходимо просмотреть весь массив. Если значение просматриваемого элемента не превышает 2,5, то в ответе вывести в одной строке сначала индекс найденного первого указанного элемента массива и его значение с 2 десятичными знаками. Если же такого элемента в массиве нет, вывести $Not \ Found.$
Ссылки
Условие задачи на e-olymp
Код решения с помощью потоковой обработки на ideone
Код решения с помощью массивов на ideone