Треки
/
C#
C#
/
Вправи
/
Сума кратних
Сума кратних

Сума кратних

Легка

Вступ

Ми працюємо в компанії, яка створює онлайн-гру на виживання у фентезійному світі.

Коли гравець завершує рівень, він отримує бали енергії. Кількість нарахованої енергії залежить від того, які магічні предмети гравець знайшов, досліджуючи цей рівень.

Вказівки

Ваше завдання - написати код, який обчислює бали енергії, що їх отримують гравці за завершення рівня.

Нараховані бали залежать від двох чинників:

  • Рівень (число), який завершив гравець.
  • Базове значення кожного магічного предмета, зібраного гравцем протягом цього рівня.

Бали енергії нараховують за такими правилами:

  1. Для кожного магічного предмета взяти його базове значення і знайти всі кратні цього значення, менші за число рівня.
  2. Поєднати множини чисел.
  3. Прибрати всі дублікати.
  4. Обчислити суму всіх чисел, що залишилися.

Розгляньмо приклад:

Гравець завершив рівень 20 і знайшов два магічні предмети з базовими значеннями 3 і 5.

Щоб обчислити бали енергії, отримані гравцем, потрібно знайти всі унікальні кратні цих базових значень, менші за рівень 20.

  • Кратні 3, менші за 20: {3, 6, 9, 12, 15, 18}
  • Кратні 5, менші за 20: {5, 10, 15}
  • Поєднати множини і прибрати дублікати: {3, 5, 6, 9, 10, 12, 15, 18}
  • Обчислити суму унікальних кратних: 3 + 5 + 6 + 9 + 10 + 12 + 15 + 18 = 78
  • Отже, за завершення рівня 20 і два знайдені магічні предмети з базовими значеннями 3 і 5 гравець отримує 78 балів енергії.

Підказки

Ця вправа передбачає опрацювання колекції даних. Код можна спростити, скориставшись LINQ (Language Integrated Query, мова інтегрованих запитів). Щоб дізнатися більше, перегляньте цю сторінку.

Редагувати через GitHub Посилання відкривається в новому вікні або вкладці
C# Exercism

Час розпочати Сума кратних?

Зареєструйтеся на Exercism, щоб вивчати й опановувати C#, а також 62 концепції178 вправ та справжнє наставництво від людей, і все це безкоштовно.