LINUX.ORG.RU
ФорумTalks

А ты умнее 5 классника?

 ,


0

1

Тут знакомый подкинул задачку с олимпиады 5-классников.

AA*BC*ABC=ABCABC

Найти A+B+C

Всего 8 задач. Времени 2 часа.

ЗЫ я решить за 20 минут не смог

★★★

Последнее исправление: Klymedy (всего исправлений: 1)

Пойду лучше поем.

IPR ★★★★★
()

a = 1, b = 9, c = 1.

решил за минуту двацать где-то.

nanoolinux ★★★★
()

AA*BC*ABC=ABC*ABC=1000ABC+ABC=1001ABC=>AA*BC=1001

AA*BC=(10A+A)*BC=11A*BC=1001=>A*BC=91=7*13=1*91=>

(A=7,B=1,C=3)or(A=1,B=9,C=1)=>

A+B+C=11

Rakot ★★
()
Ответ на: комментарий от imtw

А вообще, если не ошибаюсь, эта задача сводится к линейному диофантову уравнению. Их, вроде, как-то решают, но мне сейчас лень вспоминать как.

imtw
()
Ответ на: комментарий от nanoolinux

У меня haskell:

import Data.Digits

dd = [0..9]

main = print [(v,i,o,l,n,t,r,s,a) | v<-dd, i<-dd, o<-dd, l<-dd, n<-dd, t<-dd, r<-dd, s<-dd, a<-dd, let violin = unDigits 10 [v,i,o,l,i,n], violin+violin+(unDigits 10 [v,i,o,l,a])==(unDigits 10 [t,r,i,o])+(unDigits 10 [s,o,n,a,t,a])] 

Время выполнения говорить не буду: у меня параллельно мир пересобирается.

imtw
()

>А ты умнее 5 классника?

а я не понял что в задачке требуется... ^_^

chinarulezzz ★★
()
Ответ на: комментарий от true_admin

Есть несколько вагонов, сцепленные между собой по кругу. Внутри ходит Мегамозг, он должен посчитать количество вагонов. Мегамозг может только включать или выключать свет в вагонах. Как ему это сделать? Вначале свет горит случайным образом. (Количество вагонов может быть ну очень большим).

http://www.braingames.ru/?path=comments&puzzle=103&page=2

Siado ★★★★★
()
Ответ на: комментарий от true_admin
  ???
     x
  ???
  ---
  ???
 ???
???
-----
?????

Каждая цифра от 0 до 9 встречается дважды.
Решение единственно.
Сможешь решить без переборов?
Впрочем, на программирование тоже неплохая задачка.

ABW ★★★★★
()
Ответ на: комментарий от proud_anon

A, B и C - это цифры?

Похоже, да. Но автор задачи об этом стыдливо умолчал. Т.е. ABC, это не что иное, как A*100+B*10+C.

Очевидно, из условия задачи предлагается составить 3 уравнения для сотен тысяч, десятков тысяч, тысяч, сотен, десятков и единиц, и найти A, B и C.

yvv ★★☆
()
Последнее исправление: yvv (всего исправлений: 1)
Ответ на: комментарий от true_admin

Невозможно выключить именно все лампочки, не зная числа вагонов. Если идти вперед, в каждом вагоне выключая лампочку, то какой бы длинной последовательность выключенных ни встретилась, неизвестно, дошел ли ММ до начала путешествия или такая длинная последовательность (а она может быть любой длинны) возникла тут естественным путем.

stetzen ★★
()
Ответ на: комментарий от stetzen

Ну тогда сделать паттерн из лампочек. Как только наткнёмся на паттерн значит достигли «начала» кольца. Других способов не вижу.

true_admin ★★★★★
()
Ответ на: комментарий от Siado

Начать с произвольного вагона. Включить свет. Затем идти вперёд, считая вагоны. Если в вагоне N включен свет, выключить, вернуться на N назад, посмотреть выключился ли свет, если да, значит всего N вагонов в поезде. Если нет, снова идти вперёд, считая вагоны. и т.д. Можно гарантровать, что алгоритм завершится.

Deleted
()
Ответ на: комментарий от stetzen

можно ещё расцепить одну сцепку, но я не знаю какие возможности у мозга (каюсь, на мысль набрёл читая комменты по ссылке).

true_admin ★★★★★
()
Ответ на: комментарий от true_admin

То же самое - любой паттерн может возникнуть само по себе в каком-то другом месте кольца, и гарантированно таким образом посчитать невозможно. Если я правильно понимаю, то нужно сделать шаг влево, посмотреть и запомнить состояние лампочки, сделать i шагов вправо (где i - предполагаемая длина кольца), если там неправильное состояние, то предположение очевидно неверно и i++, а если правильное, то переключить его и сделать обратно i шагов влево. Если предположение было правильным , то ММ окажется в том же вагоне, где переключал и состояние будет противоположно запомненному, иначе i++

stetzen ★★
()
Ответ на: комментарий от true_admin

Так в том то и задачка, чтобы сократить перебор до разумных пределов.
Как раз проверить, чем Эрланг лучше чем армянеХацкель.

ABW ★★★★★
()
Ответ на: комментарий от true_admin

Ещё одно решение: от контрольного вагона в одну сторону включать все лампочки, в другую - выключать. Когда количество светлых или тёмных вагонов не будет равняться ожидаемому - считать.

tyakos ★★★
()
Ответ на: комментарий от true_admin

Ещё задача от меня - пишу по памяти:

Есть треугольник АВС. В нём выбрана произвольная точка Р. Через Р проведены прямые, параллельные АВ, ВС, АС, которые пересекают ВС, СА, АВ в точках L, M и N соответственно.

Докажите, что (BL/LC)*(CM/MA)*(AN/NB)≤1/8. При каком положении Р достигается равенство?

tyakos ★★★
()
Ответ на: комментарий от Eddy_Em

да. мой ноут считал все варианты (в том числе и с повторяющимися цифрами) минут 15. тупой генератор с условием на эрланге. логика точно такая же как и у этого парня.

nanoolinux ★★★★
()
Ответ на: комментарий от nanoolinux

А мне в лом было. Хотя, пока в сортире сидел вчера вечером, придумал, как это сделать (для вычисления чисел вида ABCDE вызывать функцию с переменным числом аргументов). А еще придумал, как обойтись без циклов и сделать решалку общего вида (но дооолго): все числа брать из ГСЧ.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

будь мужиком! заюзай хвостовую рекурсию вместо циклов!

кстати, с гсч будет сложно определить критерий того, что все числа участвовали в переборе. как ты решил этот вопрос?

nanoolinux ★★★★
()

Решается секунд за двадцать в уме.

Miguel ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.