десять чисел
От: Alglib Россия  
Дата: 22.10.03 12:46
Оценка: 9 (1)
Вот тут жена притащила кучу олимпиадных задач, одна из этой кучи показалась забавной:

Напишите на листе с строку числа от 1 до 10, каждое из чисел сложите с номером позиции на которой оно записано. Доказать, что при любой расстановке найдутся две суммы с одинаковой цифрой на конце.

Решение я нашел, интересно, может кто чего другого предложит? (перебор естественно не катит
Re: десять чисел
От: Кодт Россия  
Дата: 22.10.03 13:20
Оценка: 48 (7)
Здравствуйте, Alglib, Вы писали:

A>Напишите на листе с строку числа от 1 до 10, каждое из чисел сложите с номером позиции на которой оно записано. Доказать, что при любой расстановке найдутся две суммы с одинаковой цифрой на конце.


Пусть перетасованный набор — это числа a[0]..a[9].
Тогда последние цифры — c[i] = i + a[i] (mod 10).

Допустим, что получились 10 разных цифр. То есть, попросту, от 0 до 9.

Посчитаем:
sum{i} c[i] = sum{i} i = 45 = 5 (mod 10)

С другой стороны,
sum{i} c[i] = sum{i}(i + a[i]) = sum{i} i + sum{i} a[i] = 45+45 = 0 (mod 10).

Неувязочка
Перекуём баги на фичи!
Re[2]: десять чисел
От: Alglib Россия  
Дата: 22.10.03 13:47
Оценка: :)
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, Alglib, Вы писали:


A>>Напишите на листе с строку числа от 1 до 10, каждое из чисел сложите с номером позиции на которой оно записано. Доказать, что при любой расстановке найдутся две суммы с одинаковой цифрой на конце.


К>Пусть перетасованный набор — это числа a[0]..a[9].

К>Тогда последние цифры — c[i] = i + a[i] (mod 10).

К>Допустим, что получились 10 разных цифр. То есть, попросту, от 0 до 9.


К>Посчитаем:

К>sum{i} c[i] = sum{i} i = 45 = 5 (mod 10)

К>С другой стороны,

К>sum{i} c[i] = sum{i}(i + a[i]) = sum{i} i + sum{i} a[i] = 45+45 = 0 (mod 10).

К>Неувязочка


Катит, у меня мудренее получилось, одно успокаивает, я решал во втором часу ночи

тока пара занудств (которые на решение не влияют )
1. позиции нумеруются от 1 до 10 (это по математике задача, а не по программированию все-таки )
соответственно, sum{i} i = 55,
2. ну и понятно дело sum{i} a[i] = 55
вот.
Re[2]: десять чисел
От: Les Россия  
Дата: 23.10.03 11:21
Оценка: 12 (1)
Здравствуйте, Кодт, Вы писали:

К>Здравствуйте, Alglib, Вы писали:


A>>Напишите на листе с строку числа от 1 до 10, каждое из чисел сложите с номером позиции на которой оно записано. Доказать, что при любой расстановке найдутся две суммы с одинаковой цифрой на конце.


К>Неувязочка


Попроще:
В каждой из суммируемых строк количество суммируемых нечетных нечетно (и равно пяти). Следовательно, в строке сумм количество нечетных четно. А чтобы все компоненты были различны нужно ровно пять.
Re[3]: десять чисел
От: Alglib Россия  
Дата: 23.10.03 11:47
Оценка:
Здравствуйте, Les, Вы писали:

Les>Здравствуйте, Кодт, Вы писали:


К>>Здравствуйте, Alglib, Вы писали:


A>>>Напишите на листе с строку числа от 1 до 10, каждое из чисел сложите с номером позиции на которой оно записано. Доказать, что при любой расстановке найдутся две суммы с одинаковой цифрой на конце.


К>>Неувязочка


Les>Попроще:

Les>В каждой из суммируемых строк количество суммируемых нечетных нечетно (и равно пяти). Следовательно, в строке сумм количество нечетных четно. А чтобы все компоненты были различны нужно ровно пять.

угу, вот у меня примерно так же получилось, что конечно с одной стороны куль, поскольку, что есть mod в школе не проходят (а задачка школьная), с другой стороны, у Кодта формально строгое док-во
Re[3]: десять чисел
От: Кодт Россия  
Дата: 24.10.03 10:45
Оценка: 2 (1)
Здравствуйте, Les, Вы писали:

Les>Попроще:

Les>В каждой из суммируемых строк количество суммируемых нечетных нечетно (и равно пяти). Следовательно, в строке сумм количество нечетных четно. А чтобы все компоненты были различны нужно ровно пять.

Насчет попроще...
В задаче используются вычисления по модулю 10. Это очевидное и естественное основание.
Действительно, по модулю 2 тоже будет разница.



Давай исследуем этот вопрос.

Для N-ричной системы счисления

S = sum[i=1..N-1] i == N(N-1)/2

Сумма последних цифр сумм номера и перестановки — равна 2S mod N.
Сумма всех цифр подряд — равна S mod N.

проверка S mod N mod 2 != 2S mod N mod 2 (== 0)
в тех случаях, когда S нечетно и не кратно N. Это достигается, если N mod 4 == 2.

проверка S mod N != 2S mod N
в тех случаях, когда S не кратно N. То есть когда N четно.

Для нечетных N существуют перестановки, дающие в сумме со своими номерами уникальные цифры.
Пример — тождественные перестановки:

N=5
0+0=0, 1+1=2, 2+2=4, 3+3=1, 4+4=2
(несложно показать, что для любого нечетного N тождественная перестановка даст уникальные цифры).
Перекуём баги на фичи!
Re[4]: десять чисел
От: Alglib Россия  
Дата: 25.10.03 11:40
Оценка:
К>N=5
К>0+0=0, 1+1=2, 2+2=4, 3+3=1, 4+4=2
К>(несложно показать, что для любого нечетного N тождественная перестановка даст уникальные цифры).

4+4=3

а так внушаетЬ
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.