Математическая задачка - just for fun
-
- Уже с Приветом
- Posts: 202
- Joined: 03 Feb 2002 10:01
- Location: Pskov, Russia | Troy, MI | Reston, VA | Sterling, VA
Математическая задачка - just for fun
Мне тут на днях задали одну математическую задачку:
Найти число, которое бы увеличивалось ровно вдвое при перестановке (переносе) его последней цифры в старший разряд.
Т.е., к примеру, исходное число 1xxx2 должно быть ровно вдвое меньше полученного числа 21xxx.
Задачу я, конечно, решил, по ходу получив изрядный фан... Задачка, по словам Ирины Б., задавшей мне ее, была на олимпиаде по математике для пятиклассников. Кстати, не думайте, что все так просто, с "пол-пинка" тут числа не подбираются. "А Вам слабО ?"
Найти число, которое бы увеличивалось ровно вдвое при перестановке (переносе) его последней цифры в старший разряд.
Т.е., к примеру, исходное число 1xxx2 должно быть ровно вдвое меньше полученного числа 21xxx.
Задачу я, конечно, решил, по ходу получив изрядный фан... Задачка, по словам Ирины Б., задавшей мне ее, была на олимпиаде по математике для пятиклассников. Кстати, не думайте, что все так просто, с "пол-пинка" тут числа не подбираются. "А Вам слабО ?"
Sincerely yours, VladStar.
-
- Уже с Приветом
- Posts: 120
- Joined: 15 Mar 2001 10:01
- Location: Belgium
-
- Уже с Приветом
- Posts: 990
- Joined: 27 Mar 2002 10:01
- Location: Palo Alto, CA
-
- Уже с Приветом
- Posts: 990
- Joined: 27 Mar 2002 10:01
- Location: Palo Alto, CA
-
- Ник закрыт за хамство.
- Posts: 396
- Joined: 27 Jun 2001 09:01
- Location: Minsk,Belarus --> San Jose, CA
-
- Уже с Приветом
- Posts: 202
- Joined: 03 Feb 2002 10:01
- Location: Pskov, Russia | Troy, MI | Reston, VA | Sterling, VA
[quote:483c51f0de="olg2002"]Не слабо для пятиклассников!
Поскольку чисел таких много, приведу одно без боязни
испортить удовольствие другим:
157894736842105263157894736842105263[/quote:483c51f0de]
На самом деле, не так уж и много... больше того скажу - некоторых сочетаний просто не существует (т.к. первой цифрой высчитанного числа оказывается "0"). Я развлекся тем, что написал простенький скрипт на perl'е, позволяющий высчитывать числа в зависимости от заданной последней цифры и множителя. Для тех, кто не сможет высчитать самостоятельно, либо просто захочет посмотреть на различные результаты при разных исходных данных - взять его можно здесь: http://vladstar.pp.ru/temp/justforfun.pl.
P.S. Да, специально для Юниксоидов - версия скрипта с сообщениями в koi8 - http://vladstar.pp.ru/temp/justforfun_koi.pl.
Поскольку чисел таких много, приведу одно без боязни
испортить удовольствие другим:
157894736842105263157894736842105263[/quote:483c51f0de]
На самом деле, не так уж и много... больше того скажу - некоторых сочетаний просто не существует (т.к. первой цифрой высчитанного числа оказывается "0"). Я развлекся тем, что написал простенький скрипт на perl'е, позволяющий высчитывать числа в зависимости от заданной последней цифры и множителя. Для тех, кто не сможет высчитать самостоятельно, либо просто захочет посмотреть на различные результаты при разных исходных данных - взять его можно здесь: http://vladstar.pp.ru/temp/justforfun.pl.
P.S. Да, специально для Юниксоидов - версия скрипта с сообщениями в koi8 - http://vladstar.pp.ru/temp/justforfun_koi.pl.
Sincerely yours, VladStar.
-
- Уже с Приветом
- Posts: 202
- Joined: 03 Feb 2002 10:01
- Location: Pskov, Russia | Troy, MI | Reston, VA | Sterling, VA
-
- Уже с Приветом
- Posts: 990
- Joined: 27 Mar 2002 10:01
- Location: Palo Alto, CA
-
- Уже с Приветом
- Posts: 254
- Joined: 16 Nov 2001 10:01
-
- Уже с Приветом
- Posts: 4827
- Joined: 15 May 2001 09:01
Re: Математическая задачка - just for fun
Запишем число до удвоения в виде
Ab
где b - младшая цифра, а A - все остальные.
Если число Ab - n+1-разрядное, то bA - это 10**n*b+A. По условию bA=2*Ab, то есть:
10**n * b + A = 2* (10*A + b)
или
(10**n -1 )-2)*b = 19*A (*)
Любое решение этого уравнения, где b - цифра, а А - число, даст нам ответ.
Поскольку 19 - простое число, а b<10, значит 10**n - 2 делится на 19. Стало быть, соответствующая степень десятки должна давать остаток 2 при делении на 19. Если к-я степень десятки дает R в остатке, то (K+1)-я - (10*R mod 19). Из этого находим подходящую степень:
В нижеприведенной таблице первая колонка - степень 10, вторая - остаток от деления ее на 19
0 1
1 10
2 5
3 12
4 6
5 3
6 11
7 15
8 17
9 18
10 9
11 14
12 7
13 13
14 16
15 8
16 4
17 2
18 1
19 10
...
Видно, что дальще все повторяется, и условиям задачи удовлетворяет
n=18*k-1, кде k-натуральное число.
Подставляя это в формулы выше, получим, что общая формула, описывающая все числа, удваивающиеся при перемещении последней цифры на первой место:
(10**(18*k-1)-2)*b*10/19 +b,
где к - натуральное, а b - ненулевая цифра.
Наименьшее такое число - когда k=1, b=2:
(10**17-2)*2*10/19+2 = 105263157894736842
поскольку при b=1 первой цифрой числа оказывается ноль.
В последнем рассуждении использовался калькулятор.
Интересно, что ответ - это прокрученый период дроби 1/19, да и все остальные ответы - тоже. Поняв это, можно привести более красивое решение.
Олег
Ab
где b - младшая цифра, а A - все остальные.
Если число Ab - n+1-разрядное, то bA - это 10**n*b+A. По условию bA=2*Ab, то есть:
10**n * b + A = 2* (10*A + b)
или
(10**n -1 )-2)*b = 19*A (*)
Любое решение этого уравнения, где b - цифра, а А - число, даст нам ответ.
Поскольку 19 - простое число, а b<10, значит 10**n - 2 делится на 19. Стало быть, соответствующая степень десятки должна давать остаток 2 при делении на 19. Если к-я степень десятки дает R в остатке, то (K+1)-я - (10*R mod 19). Из этого находим подходящую степень:
В нижеприведенной таблице первая колонка - степень 10, вторая - остаток от деления ее на 19
0 1
1 10
2 5
3 12
4 6
5 3
6 11
7 15
8 17
9 18
10 9
11 14
12 7
13 13
14 16
15 8
16 4
17 2
18 1
19 10
...
Видно, что дальще все повторяется, и условиям задачи удовлетворяет
n=18*k-1, кде k-натуральное число.
Подставляя это в формулы выше, получим, что общая формула, описывающая все числа, удваивающиеся при перемещении последней цифры на первой место:
(10**(18*k-1)-2)*b*10/19 +b,
где к - натуральное, а b - ненулевая цифра.
Наименьшее такое число - когда k=1, b=2:
(10**17-2)*2*10/19+2 = 105263157894736842
поскольку при b=1 первой цифрой числа оказывается ноль.
В последнем рассуждении использовался калькулятор.
Интересно, что ответ - это прокрученый период дроби 1/19, да и все остальные ответы - тоже. Поняв это, можно привести более красивое решение.
Олег
-
- Уже с Приветом
- Posts: 254
- Joined: 16 Nov 2001 10:01
-
- Новичок
- Posts: 96
- Joined: 19 Jun 2001 09:01
- Location: Canada
Re: Математическая задачка - just for fun
[quote:59204c83e1="helg"]...Наименьшее такое число - когда k=1, b=2:
(10**17-2)*2*10/19+2 = 105263157894736842
Олег[/quote:59204c83e1]
В условии не сказано о системе счисления.
Наименьшее число = 1012 в трехричной системе счисления, что равно 32 в десятиричной.
(10**17-2)*2*10/19+2 = 105263157894736842
Олег[/quote:59204c83e1]
В условии не сказано о системе счисления.
Наименьшее число = 1012 в трехричной системе счисления, что равно 32 в десятиричной.
-
- Новичок
- Posts: 96
- Joined: 19 Jun 2001 09:01
- Location: Canada
Re: Математическая задачка - just for fun
Ого, тут есть еще меньшее числою
13 в пятеричной = 8 в десятиричной
13 в пятеричной = 8 в десятиричной
-
- Уже с Приветом
- Posts: 242
- Joined: 03 Jan 2000 10:01
- Location: TX > MA/NH > NJ/NYC