Доверьтесь ИИ

Задача:

Создайте функцию, которая принимает список чисел и возвращает среднее геометрическое этих чисел. Java.

План:

  • Алгоритм решения
  • Код программы
  • Примеры входных данных и ожидаемых результатов
  • Объяснение кода программы
  • Блок-схема

Алгоритм решения:

  1. Определение функции calculateGeometricMean, принимающей список чисел типа Double.

  2. Проверка входных данных:

    • Если список null или пустой, возвращаем 0.
  3. Инициализация переменной product значением 1.0.

  4. Итерация по всем числам в списке:

    • Умножение текущего значения product на каждое число.
  5. Вычисление среднего геометрического:

    • Возведение product в степень 1/n, где n - количество чисел в списке.
  6. Возвращение результата.

  7. В main методе:

    • Создание тестового списка чисел.
    • Вызов функции calculateGeometricMean.
    • Вывод результата на экран.

Код программы на языке Java:

Код Java
import java.util.List;

public class GeometricMean {
    public static double calculateGeometricMean(List<Double> numbers) {
        if (numbers == null || numbers.isEmpty()) {
            return 0;
        }

        double product = 1.0;
        for (Double number : numbers) {
            product *= number;
        }

        return Math.pow(product, 1.0 / numbers.size());
    }

    public static void main(String[] args) {
        List<Double> numbers = List.of(2.0, 4.0, 8.0);
        double geometricMean = calculateGeometricMean(numbers);
        System.out.println("Geometric Mean: " + geometricMean);
    }
}

ИИ поможет Вам:

  • решит любую задачу
  • объяснит код
  • расставит комментарии в коде
  • и т.д
Попробуйте

Примеры входных данных и ожидаемых результатов:

Пример 1:
Вход: [2.0, 4.0, 8.0]
Ожидаемый результат: 4.0

Пример 2:
Вход: [1.0, 2.0, 3.0, 4.0, 5.0]
Ожидаемый результат: 2.605171084697352

Пример 3:
Вход: [10.0, 20.0, 30.0]
Ожидаемый результат: 18.171205928321397

Пример 4:
Вход: [0.5, 1.5, 2.5]
Ожидаемый результат: 1.2599210498948732

Пример 5:
Вход: []
Ожидаемый результат: 0.0

Пример 6:
Вход: null
Ожидаемый результат: 0.0

Объяснение кода программы:

  1. Определение класса и импорт:

    import java.util.List;
    
    public class GeometricMean {
    Импортируется класс List из пакета java.util, и определяется публичный класс GeometricMean.

  2. Объявление метода calculateGeometricMean:

    public static double calculateGeometricMean(List<Double> numbers) {
    Объявляется статический метод, принимающий список чисел типа Double и возвращающий результат типа double.

  3. Проверка входных данных:

    if (numbers == null || numbers.isEmpty()) {
        return 0;
    }
    Проверяется, не является ли входной список null или пустым. Если да, возвращается 0.

  4. Инициализация переменной для произведения:

    double product = 1.0;
    Инициализируется переменная product значением 1.0 для хранения произведения чисел.

  5. Вычисление произведения чисел:

    for (Double number : numbers) {
        product *= number;
    }
    С помощью цикла for-each перемножаются все числа из списка.

  6. Вычисление и возврат среднего геометрического:

    return Math.pow(product, 1.0 / numbers.size());
    Вычисляется корень n-ой степени из произведения, где n - количество чисел в списке.

  7. Объявление метода main:

    public static void main(String[] args) {
    Определяется точка входа в программу.

  8. Создание тестового списка чисел:

    List<Double> numbers = List.of(2.0, 4.0, 8.0);
    Создается неизменяемый список чисел с помощью метода List.of().

  9. Вызов метода и вывод результата:

    double geometricMean = calculateGeometricMean(numbers);
    System.out.println("Geometric Mean: " + geometricMean);
    Вызывается метод calculateGeometricMean с тестовым списком, и результат выводится в консоль.

Блок-схема:

Нажмите на изображение, чтобы увеличить

Блок-схема к задаче: Создайте функцию, которая принимает список чисел и возвращает среднее геометрическое этих чисел.

Личный кабинет

  1. Приоритетная обработка
    Запросы от пользователей личного кабинета обрабатываются в первую очередь
  2. Бонус за регистрацию
    Стартовый бонус на счёт личного кабинета (~20 запросов), без регистрации - 3 запроса
  3. Все передовые нейросети
    В личном кабинете представлен широкий выбор нейросетей (20+).
  4. Генерация реалистичных изображений
    Midjourney 6.0, Stable Diffusion XL, Dall-E 3, Playground v2.5, Flux.1 Schnell, Flux.1 Dev, Flux.1 Pro, Flux.1.1 Pro, Kolors, Recraft v3, GPT Image 1 (low), GPT Image 1 (medium), GPT Image 1 (high)
  5. Создание музыки
    Нейросеть Suno создает музыку на основе вашего текста
  6. Нет ограничения на количество символов
    Без регистрации вы можете отправить запрос не более 1000 символов
  7. Работа с файлами
    Поддержка всех популярных форматов: pdf, excel, word, powerpoint, odt, c, js, php, py, html, sql, xml, yaml, markdown, txt, json, csv, png, jpeg и другие
Зарегистрироваться
Личный кабинет smartbuddy.ru