Программа на java решение

если захочется, то в несколько строк будет возвращать значения вместо их вывода. ну и можно это делать с любым типом данных

Сергей Уровень 22
25 октября 2019

То чувство, когда ты умеешь поднять микросервисы в облаке, но не умеешь написать сортировку пузырьком. Уволюсь нахрен, пойду в 11 класс к ЕГЭ готовиться по информатике. Там много таких задач.

Дмитрий Уровень 20
22 августа 2019

Честно, все решения ниже мне не понравились. В моем решении я не использовал 100 элементов, но это и не важно, оно универсальное для листов разных типов и любых размерностей.

public class Tes < public static void main(String[] args) < Listnumbers = new ArrayList<>(Arrays.asList(1,2,3,4,5,2,10,5)); System.out.println(findDuplicates(numbers)); List strings = new ArrayList<>(Arrays.asList(«1», «st», «1», «5», «st», «10», «st»)); System.out.println(findDuplicates(strings)); > private static Map findDuplicates(List list) < Mapduplicates = new HashMap<>(); for (T element:list) < if (Collections.frequency(list, element) >1) < duplicates.put(element, Collections.frequency(list, element)); >> return duplicates; > >
Cepr0 Уровень 41
18 июля 2019

Задача на массивы. Программирование на Java. Алгоритмическая качалка с Валерой Петровым

Решение для 4 задачи в один проход — слолжность меньше либо равна O(n) (равна — если дубликат окажется последним в массиве). Вставка в HashSet возвращает true в случае отсутствия элемента. Выполняется за O(1) (для целых чисел).

public class FindOneDuplicateInArray < private static final int ARRAY_LENGTH = 100; private static Integer findDuplicate(final int[] array) < Setholder = new HashSet<>(array.length); for (Integer i : array) < if (!holder.add(i)) return i; >return null; > public static void main(String[] args) < ThreadLocalRandom random = ThreadLocalRandom.current(); IntSupplier randomInt = () ->random.nextInt(1, ARRAY_LENGTH + 1); int[] array = IntStream.generate(randomInt) .distinct() .limit(ARRAY_LENGTH) .toArray(); int duplicate = randomInt.getAsInt(); array[randomInt.getAsInt()] = duplicate; Integer result = findDuplicate(array); System.out.printf(«Duplicate is %s%nResult is %s%n», duplicate, result); System.out.println(«Is result correct? » + Objects.equals(result, duplicate)); > >
Легко адаптировать также и для решения 5 задачи.

24 июня 2019
4 можно вот так например решить.
List list = IntStream.range(1, 101).boxed().collect(Collectors.toList()); list.set(5, 100); list.sort(Comparator.naturalOrder()); for (int i = 0; i < list.size() — 1;i++) < if (list.get(i).equals(list.get(i+1))) < System.out.println(list.get(i)); break; >>
Ярослав Уровень 40 Master
16 апреля 2018

Я бы решил 4-ю задачу через словарь, подсчитывая повторения каждого элемента, и при первой же двойке сразу можно было бы сказать, какое число дубликат. Так не нужно было бы считать суммы, а в лучшем случае выполнение программы бы закончилось еще на 2-м элементе 🙂

Читайте также:
Программы для создания мультиков для новичков

УМНОЕ решение задачи Missing Number на Java с сайта LeetCode. Максимальная производительность

Источник: javarush.com

Программа на java решение

Сборник практических заданий и их решений для языка программирования Java.

Циклы в Java

Создайте программу, выводящую на экран все четырёхзначные числа последовательности 1000 1003 1006 1009 1012 1015 ….

Создайте программу, выводящую на экран первые 55 элементов последовательности 1 3 5 7 9 11 13 15 17 ….

Создайте программу, выводящую на экран все неотрицательные элементы последовательности 90 85 80 75 70 65 60 ….

Создайте программу, выводящую на экран первые 20 элементов последовательности 2 4 8 16 32 64 128 ….
Выведите на экран все члены последовательности 2an-1–1, где a1=2, которые меньше 10000.
Выведите на экран все двузначные члены последовательности 2an-1+200, где a1= –166.

Создайте программу, вычисляющую факториал натурального числа n, которое пользователь введёт с клавиатуры.

Выведите на экран все положительные делители натурального числа, введённого пользователем с клавиатуры.

Проверьте, является ли введённое пользователем с клавиатуры натуральное число — простым. Постарайтесь не выполнять лишних действий (например, после того, как вы нашли хотя бы один нетривиальный делитель уже ясно, что число составное и проверку продолжать не нужно). Также учтите, что наименьший делитель натурального числа n, если он вообще имеется, обязательно располагается в отрезке [2; √n].

Создайте программу, выводящую на экран 12 первых элементов последовательности 2an-2–2, где a1=3 и a2=2.

Выведите на экран первые 11 членов последовательности Фибоначчи. Напоминаем, что первый и второй члены последовательности равны единицам, а каждый следующий — сумме двух предыдущих.

Для введённого пользователем с клавиатуры натурального числа посчитайте сумму всех его цифр (заранее не известно сколько цифр будет в числе).

В городе N проезд в трамвае осуществляется по бумажным отрывным билетам. Каждую неделю трамвайное депо заказывает в местной типографии рулон билетов с номерами от 000001 до 999999. «Счастливым» считается билетик у которого сумма первых трёх цифр номера равна сумме последних трёх цифр, как, например, в билетах с номерами 003102 или 567576. Трамвайное депо решило подарить сувенир обладателю каждого счастливого билета и теперь раздумывает, как много сувениров потребуется. С помощью программы подсчитайте сколько счастливых билетов в одном рулоне?

В городе N есть большой склад на котором существует 50000 различных полок. Для удобства работников руководство склада решило заказать для каждой полки табличку с номером от 00001 до 50000 в местной типографии, но когда таблички напечатали, оказалось что печатный станок из-за неисправности не печатал цифру 2, поэтому все таблички, в номерах которых содержалась одна или более двойка (например, 00002 или 20202) — надо перепечатывать. Напишите программу, которая подсчитает сколько всего таких ошибочных табличек оказалось в бракованной партии.

Читайте также:
Как написать комплексную программу

Электронные часы показывают время в формате от 00:00 до 23:59. Подсчитать сколько раз за сутки случается так, что слева от двоеточия показывается симметричная комбинация для той, что справа от двоеточия (например, 02:20, 11:11 или 15:51).

В американской армии считается несчастливым число 13, а в японской — 4. Перед международными учениями штаб российской армии решил исключить номера боевой техники, содержащие числа 4 или 13 (например, 40123, 13313, 12345 или 13040), чтобы не смущать иностранных коллег. Если в распоряжении армии имеется 100 тыс. единиц боевой техники и каждая боевая машина имеет номер от 00001 до 99999, то сколько всего номеров придётся исключить?

Источник: javazadachi.blogspot.com

Программа на java решение

Упражнение 1

Напишите консольную программу, в которой пользователь с клавиатуры вводит два числа. А программа сранивает два введенных числа и выводит на консоль результат сравнения (два числа равны, первое число больше второго или первое число меньше второго).

import java.util.Scanner; public class Program < public static void main(String[] args) < Scanner in = new Scanner(System.in); System.out.print(«Введите первое число: «); int num1 = in.nextInt(); System.out.print(«Введите второе число: «); int num2 = in.nextInt(); if(num1 >num2) < System.out.println(«Первое число больше второго»); >else if (num1 < num2)< System.out.println(«Первое число меньше второго»); >else < System.out.println(«Оба числа равны»); >in.close(); > >
Упражнение 2

Напишите консольную программу, в которой пользователь вводит с клавиатуры число. Если число одновременно меньше 9 и больше 2, то программа выводит «Число больше 5 и меньше 10». Иначе программа выводит сообщение «Неизвестное число».

import java.util.Scanner; public class Program < public static void main(String[] args) < Scanner in = new Scanner(System.in); System.out.print(«Введите число: «); int num = in.nextInt(); if(num >2 num < 9)< System.out.println(«Число больше 2 и меньше 9»); >else < System.out.println(«Неизвестное число»); >in.close(); > >
Упражнение 3

В банке в зависимости от суммы вклада начисляемый процент по вкладу может отличаться.

Напишите консольную программу, в которую пользователь вводит сумму вклада. Если сумма вклада меньше 100, то начисляется 5%. Если сумма вклада от 100 до 200, то начисляется 7%. Если сумма вклада больше 200, то начисляется 10%. В конце программа должна выводить сумму вклада с начисленными процентами.

Читайте также:
Как работает программа memtest

import java.util.Scanner; public class Main < public static void main(String[] args) < Scanner in = new Scanner(System.in); System.out.print(«Введите сумму вклада: «); float sum = in.nextFloat(); if (sum < 100)< sum += sum * 0.05; >else if (sum >= 100 sum else < sum += sum * 0.1; >System.out.printf(«Сумму вклада после начисления процентов: %f», sum); in.close(); > >
Упражнение 4

Напишите консольную программу, которая выводит пользователю сообщение «Введите номер операции: 1.Сложение 2.Вычитание 3.Умножение». Рядом с названием каждой операции указан ее номер, например, операция вычитания имеет номер 2. Пусть пользователь вводит в программе номер операции, и в зависимости от этого номера программа выводит название операции.

Для определения операции по введенному номеру используйте конструкцию switch. case.

Если введенное пользователем число не соответствует никакой операции (например, число 120), то выведите пользователю сообщение о том, что операция неопределена.

Пример работы программы:

Введите номер операции: 1.Сложение 2.Вычитание 3.Умножение 1 Сложение
import java.util.Scanner; public class Program < public static void main(String[] args) < Scanner in = new Scanner(System.in); System.out.println(«Введите номер операции: 1.Сложение 2.Вычитание 3.Умножение»); int operation = in.nextInt(); switch (operation) < case 1: System.out.println(«Сложение»); break; case 2: System.out.println(«Вычитание»); break; case 3: System.out.println(«Умножение»); break; default: System.out.println(«Неизвестная операция»); break; >in.close(); > >
Упражнение 5

Измените предыдущую программу. Пусть пользователь кроме номера операции вводит два числа, и в зависимости от номера операции с введенными числами выполняются определенные действия (например, при вводе числа 3 числа умножаются). Результат операции выводиться на консоль.

Пример работы программы:

Введите первое число: 5 Введите второе число: 2 Введите номер операции: 1.Сложение 2.Вычитание 3.Умножение 1 Результат операции: 7
import java.util.Scanner; public class Program < public static void main(String[] args) < Scanner in = new Scanner(System.in); System.out.print(«Введите первое число: «); int num1 = in.nextInt(); System.out.print(«Введите второе число: «); int num2 = in.nextInt(); System.out.println(«Введите номер операции: 1.Сложение 2.Вычитание 3.Умножение»); int operation = in.nextInt(); int result = 0; switch (operation) < case 1: result = num1 + num2; break; case 2: result = num1 — num2; break; case 3: result = num1 * num2; break; default: System.out.println(«Неизвестная операция»); >if(operation >=1 operation in.close(); > >

Источник: metanit.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru