Прежде всего, позвольте мне сказать, что это не домашнее задание (я студент A-Level, это не что-то близкое к решению проблемы (это сложнее)), но больше проблема, которую я пытаюсь чтобы улучшить мою логику программирования.
Я думал о сценарии, где есть массив случайных целых чисел, пусть, например, скажем 10 целых чисел. Пользователь вводит число, которое он хочет подсчитать, и алгоритм попытается определить, какие числа необходимы для совершения этой суммы. Например, если бы я хотел сделать сумму 44 из этого массива целых чисел:
myIntegers = array(1, 5, 9, 3, 7, 12, 36, 22, 19, 63);
Вывод будет:
36 + 3 + 5 = 44
Или что-то в этом роде. Надеюсь, я проясню ситуацию. В качестве дополнительного бонуса я бы хотел, чтобы алгоритм выбрал как можно меньше номеров, чтобы сделать требуемую сумму, или выдайте ошибку, если сумма не может быть сделана с указанными номерами.
Я думал об использовании рекурсии и итерации через массив, добавляя числа снова и снова, пока сумма не будет достигнута или не пройдет. Но то, что я не могу разгадать, - это то, что нужно делать, если алгоритм проходит мимо суммы и должен быть избирательным относительно того, какие числа выбрать из массива.
Я не ищу полный код или полный алгоритм, я просто хочу, чтобы ваше мнение о том, как я должен это делать и, возможно, поделиться несколькими советами или чем-то еще. Я, вероятно, начну работу над этим вечером.: P
Как я уже сказал, не домашнее задание. Просто я хочу сделать что-то более продвинутое.
Спасибо за любую помощь, которую вы можете предложить.:)