Зарядка для ума... (... разрядка для эмоций)
Зарядка для ума...
... разрядка для эмоций
Вот. Зашёл на форум, почитал сегодняшние темы...
... и подумал, а не предложить ли коллегам отвлечься от и переключиться на ?
Итак, всем привет!
Есть такая народная байка, что некто мистер Генри Форд, когда брал к себе на работу инженера, предлагал кандидату решить математическую задачку...
... если кандидат справлялся за отведенные 15 минут, то его брали (ну, так байка утверждает), а если не справлялся - то не брали.
Задачка:
даны три десятичных числа, в которых цифры заменены буквами
сумма первого и второго чисел равна третьему
DONALD + GERALD = ROBERT
надо найти такую подстановку цифр (набор от 0 до 9) в буквы, чтоб выполнялось верное равенство
разумеется, разные буквы заменяются на разные цифры... ну а если у кого остались вопросы - см. Интернет
разумеется, числа складываются поразрядно с учётом переноса в старший разряд и т.д.
ДОПОЛНИТЕЛЬНО задано, что D = 5
Вот. Зашёл на форум, почитал сегодняшние темы...
... и подумал, а не предложить ли коллегам отвлечься от и переключиться на ?
Итак, всем привет!
Есть такая народная байка, что некто мистер Генри Форд, когда брал к себе на работу инженера, предлагал кандидату решить математическую задачку...
... если кандидат справлялся за отведенные 15 минут, то его брали (ну, так байка утверждает), а если не справлялся - то не брали.
Задачка:
даны три десятичных числа, в которых цифры заменены буквами
сумма первого и второго чисел равна третьему
DONALD + GERALD = ROBERT
надо найти такую подстановку цифр (набор от 0 до 9) в буквы, чтоб выполнялось верное равенство
разумеется, разные буквы заменяются на разные цифры... ну а если у кого остались вопросы - см. Интернет
разумеется, числа складываются поразрядно с учётом переноса в старший разряд и т.д.
ДОПОЛНИТЕЛЬНО задано, что D = 5
- Кай
- Почётный пользователь
- Сообщения: 19738
- Зарегистрирован: 08.08.2010,21:44
- Откуда: СПб, Ульянка-Лигово
- Контактная информация:
-
Вклад в сообщество
Пролог. CLP(FD).
donald(LD):-
LD=[D,O,N,A,L,G,E,R,B,T],
fd_domain(LD,0,9),
fd_domain([D,G],1,9),
fd_all_different(LD),
100000*D+10000*O+1000*N+100*A+10*L+D+100000*G+10000*E+1000*R+100*A+10*L+D
#= 100000*R+10000*O+1000*B+100*E+10*R+T,
fd_labeling(LD).
ЗЫ: ЭТО я уже решал. Причём - давно.
donald(LD):-
LD=[D,O,N,A,L,G,E,R,B,T],
fd_domain(LD,0,9),
fd_domain([D,G],1,9),
fd_all_different(LD),
100000*D+10000*O+1000*N+100*A+10*L+D+100000*G+10000*E+1000*R+100*A+10*L+D
#= 100000*R+10000*O+1000*B+100*E+10*R+T,
fd_labeling(LD).
ЗЫ: ЭТО я уже решал. Причём - давно.
- Студент, принесите из вивария живую мышь и подготовьте её к опыту.
Полученную кашицу...
Полученную кашицу...
На питоне -- короче на одну строчкуКай писал(а):Пролог.
import itertools
a, b, c = 'DONALD', 'GERALD', 'ROBERT'
for perm in itertools.permutations(range(10)):
····subst = dict(zip(sorted(list(set(a + b + c))), perm))
····s2n = lambda s: int(''.join(map(lambda c: str(subst[c]), s)))
····if s2n(a) + s2n(b) == s2n( c ):
········print(subst)
// но компьютеры - это не для Этого форума!!
-
- Advanced Member
- Сообщения: 550
- Зарегистрирован: 04.09.2017,12:47
- Откуда: Санкт-Петербург
-
- Advanced Member
- Сообщения: 1460
- Зарегистрирован: 04.07.2014,16:01
- Откуда: $pb
-
- Advanced Member
- Сообщения: 550
- Зарегистрирован: 04.09.2017,12:47
- Откуда: Санкт-Петербург