Ваша задача - написать программу, которая на входе n выводит минимальное выражение каждого числа от 1 до n по порядку. Самая короткая программа в байтах побеждает.
Минимальное выражение объединяет 1 с сложением и умножением, чтобы получить заданное число, используя как можно меньше 1. Например, 23
выражается как 23=((1+1+1)(1+1)+1)(1+1+1)+1+1
с одиннадцатью, что минимально.
Требования:
- Программа должна принимать в качестве входных данных положительное натуральное число n.
- Вывод должен быть в следующем формате:
20 = ((1+1+1)(1+1+1)+1)(1+1)
- Ваш вывод может не иметь лишних скобок, как
8 = ((1+1)(1+1))(1+1)
. - Знак умножения не
*
является обязательным. - Пробелы не являются обязательными.
- Вам не нужно выводить все возможные уравнения для данного значения: например, у вас есть выбор для вывода
4=1+1+1+1
или4=(1+1)(1+1)
. Вам не нужно выводить оба. - Самая короткая программа (в байтах) на каждом языке выигрывает.
1 = 1 2 = 1 + 1 3 = 1 + 1 + 1 4 = 1 + 1 + 1 + 1 5 = 1 + 1 + 1 + 1 + 1 6 = (1 + 1 + 1) (1 + 1) 7 = (1 + 1 + 1) (1 + 1) + 1 8 = (1 + 1 + 1 + 1) (1 + 1) 9 = (1 + 1 + 1) (1 + 1 + 1) 10 = (1 + 1 + 1) (1 + 1 + 1) + 1 11 = (1 + 1 + 1) (1 + 1 + 1) + 1 + 1 12 = (1 + 1 + 1) (1 + 1) (1 + 1) 13 = (1 + 1 + 1) (1 + 1) (1 + 1) + 1 14 = ((1 + 1 + 1) (1 + 1) + 1) (1 + 1) 15 = (1 + 1 + 1 + 1 + 1) (1 + 1 + 1) 16 = (1 + 1 + 1 + 1) (1 + 1) (1 + 1) 17 = (1 + 1 + 1 + 1) (1 + 1) (1 + 1) + 1 18 = (1 + 1 + 1) (1 + 1 + 1) (1 + 1) 19 = (1 + 1 + 1) (1 + 1 + 1) (1 + 1) + 1 20 = ((1 + 1 + 1) (1 + 1 + 1) + 1) (1 + 1)
Вот еще несколько тестов: (помните, что допускаются и другие выражения с таким же числом единиц)
157=((1+1+1)(1+1)(1+1)+1)(1+1+1)(1+1)(1+1)+1
444=((1+1+1)(1+1+1)(1+1)(1+1)+1)(1+1+1)(1+1)(1+1)
1223=((1+1+1)(1+1+1)(1+1+1)(1+1+1)(1+1+1)+1)(1+1+1+1+1)+1+1+1
15535=((((1+1+1)(1+1+1)(1+1+1)(1+1+1)+1)((1+1+1)(1+1)+1)+1)(1+1+1)+1)(1+1+1)(1+1+1)+1
45197=((((1+1+1)(1+1)(1+1)(1+1)+1)(1+1+1+1+1)(1+1)+1)(1+1+1)(1+1)(1+1)+1)(1+1+1+1+1)(1+1+1)+1+1
Удачи! - Черепаха 🐢
n=20
) и 2) в начале вы говорите, что должна быть выведена целочисленная сложность, отличная от уравнения, но вы не включаете ее в любой из примеров, кроме самого первого.