вторник, 15 март 2011 г.

Задача по математика за IV клас

Интересна задача от Олимпиадата по математика за четвърти клас:

Задача 3. Да се реши числовият ребус abcd*a=eeeed ,  в който на еднаквите букви отговарят еднакви цифри, а на различните букви отговарят различни цифри.
На пръв поглед brute force решението е очевидно:
svilen@buhtum:~$ perl -e 'for$a(1..9){@r=(0..9);for$b(@r){for$c(@r){for$d(@r){for$e(@r){print"$a$b$c$d*$a=$e$e$e$e$d\n" if "$a$b$c$d"*$a=="$e$e$e$e$d"}}}}}'
След това се сетих, че четвъртокласниците едва ли имат компютър под ръка, затова трябва да има и друго решение.

Очевидно е, че "a" не може да е 0, 1 или 2, защото няма как при умножение да стане 5 цифрено число (2999*2 < 10000). Произведението d*a трябва да завършва на d. Щом "a" не може да е едно, (x*1=x), то пробваме останалите комбинации: кои числа при умножението си ще дадат число, което завършва на който и да е от двата множителя:

3*4=12
3*5=15 <<<<<
3*6=18
3*7=21
3*8=24
3*9=27
4*5=20
4*6=24 <<<<<
4*7=28
4*8=32
4*9=36
5*6=30
5*7=35 <<<<<
5*8=40
5*9=45 <<<<<
6*7=42
6*8=48 <<<<<
6*9=54
7*8=56
7*9=63
8*9=72


Само 5 произведения отговарят на условието, заменяме буквите със съществуващите числа:

3*5=15: 3bc5*3=eeee5
4*6=24: 6bc4*6=eeee4
5*7=35: 5bc7*5=eeee5
5*9=45: 5bc9*5=eeee5
6*8=48: 8bc6*8=eeee8

Тъй като "bc" комбинацията може да бъде от 00 до 99, то търсим 5 цифрено число с първи 4 еднакви цифри, различни от "a" и "d", и завършващо на "d", в интервалите

3005*3 < eеееd < 3995*3 -> 9015 < eеееd < 11985 -> 11115
6004*6 < eеееd < 6994*6 -> 36024 < eеееd < 41964 -> няма такова (най-близки 33336 или 44446)
5007*5 < eеееd < 5997*5 -> 25035 < eеееd < 29985 -> няма такова (най-близки 22225 или 33335)
5009*5 < eеееd < 5999*5 -> 25045 < eеееd < 29995 -> няма такова (най-близки 22225 или 33335)
8006*8 < eеееd < 8996*8 -> 64048 < eеееd < 71968 -> 66668, но няма как да стане защото "e" (6) трябва да е различно от "d" (6)

Следователно числото "e"=1, 11115/3=3705

Следователно: 3705*3=11115