Сумма и произведение узлов кругового односвязного списка, которые делятся на K

Опубликовано: 3 Декабря, 2021

Дан одинарный круговой связанный список. Задача состоит в том, чтобы найти сумму и произведение узлов, которые делятся на K данного связного списка.
Примеры :

 Ввод : Список = 5-> 6-> 7-> 8-> 9-> 10-> 11-> 11
             К = 11
Выход : Сумма = 22, Продукт = 121

Ввод : Список = 15-> 7-> 3-> 9-> 11-> 5
             К = 5
Выход : Продукт = 75, Сумма = 20

Сумма и произведение узла одинарного кругового связного списка

Рекомендуется: сначала попробуйте свой подход в {IDE}, прежде чем переходить к решению.

Подход:

  1. Инициализируйте указатель current с заголовком кругового связанного списка и переменной sum с 0 и переменной product с 1.
  2. Начните обход связанного списка с помощью цикла do while, пока не пройдут все узлы.
  3. Если данные текущего узла делятся на заданный ключ.
    • Добавьте значение текущего узла к сумме, т.е. sum = sum + current -> data .
    • Умножьте значение текущего узла на продукт, т.е. product = product * current -> data .
    • Увеличьте указатель на следующий узел связанного списка, т.е. temp = temp -> next .
  4. Выведите сумму и произведение.

Ниже представлена реализация описанного выше подхода:

Вниманию читателя! Не прекращайте учиться сейчас. Освойте все важные концепции DSA с помощью самостоятельного курса DSA по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .

Если вы хотите посещать живые занятия с отраслевыми экспертами, пожалуйста, обращайтесь к Geeks Classes Live и Geeks Classes Live USA.