Найдите минимальное количество магических чисел, чтобы получить сумму
Существуют магические числа, состоящие только из 1 и 0, такие как 0, 1, 10, 11, 100, 101, 110, 111..... и так далее. Это целочисленные значения, а не двоичные.
Вопрос в том, чтобы получить сумму с минимальным использованием магических чисел.
например: 23 : 11 + 11+ 1 ( 3 магические числа)
120: 110+ 10 (2 магических числа)
Какая может быть логика, чтобы найти минимальные магические числа, необходимые для вычисления суммы?
Что я уже пробовал:
хитрость здесь заключается в том,чтобы получить максимальную цифру в значении, например: для 23 минимальное магическое число будет равно 3, а для 120-2, для 651-6.
Я пытаюсь реализовать / закодировать логику, чтобы найти комбинацию магических чисел, необходимых для получения суммы, но я не уверен, как продолжить работу с кодом.
Логика изложена ниже:
Шаг 1: получите длину значения.
Шаг 2: разделите значение на 10 и получите модуль. Если остаток равен 0, то единичная цифра магического числа будет равна 0 или если ее больше 0, то единичная цифра будет равна 1. но как заполнить позицию десятки или сотни???
я столкнулся с трудностями, чтобы закодировать его. любая помощь оценена по достоинству