Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.10.2011, 21:15
Аспирант
Отправить личное сообщение для Sundro Посмотреть профиль Найти все сообщения от Sundro
 
Регистрация: 25.05.2011
Сообщений: 46

Математическая индукция.
Захотелось узнасть что такое математическая индукция, спросил у Гугля, он выплюнул мне определение. На этом я не остановился, в месте с определением попал на сайт со статьей, там в качестве примера этой самой индукции было доказательство смысл которого я так и не понял(возможно это и не доказательство, а тонкий матюмор=) Собственно вот задача с док-вом.
С помощью метода математической индукции можно обосновать следующий поразительный фокус.
Вырежьте из картона 999 одинаковых карточек. На 111 карточках напишите 1, на 111 карточках — 2, и т. д., на последних 111 карточках напишите 9. Переверните все карточки цифрой вниз и тщательно перемешайте. Затем возьмите совершенно произвольно n карточек, где n — любое целое число от 1 до 100, и положите их на стол цифрой вверх. Тогда цифры, написанные на всех n выбранных карточках, обязательно окажутся одинаковыми! Сколько бы раз ни повторять этот фокус и какое бы n ни выбирать (1≤n≤100), результат неизменно будет один: на всех n карточках будет одна и та же цифра! Каждый может на досуге проверить сказанное экспериментально, а сейчас докажем этот замечательный факт по индукции.

Нам нужно доказать утверждение Yn: На всех n выбранных карточках (1≤n≤100) окажется одна и та же цифра. Фактически здесь имеется 100 утверждений: Y1, ..., Y100 (в зависимости от того, какое значение принимает n).

При n = 1 наше утверждение, очевидно, справедливо. (В этом нет, правда, ничего удивительного: если цифрой вверх будет перевернута всего одна карточка, то, разумеется, перед нами окажется одна цифра.)

Докажем теперь, что если утверждение Yn верно при n = k (где k — любое целое число от 1 до 99), то оно верно и при n = k + 1.

Положим на стол цифрой вверх k + 1 карточку. Одну карточку (назовем ее A) на минутку снимем со стола. На столе останется k карточек. На них (по предположению индукции) написана одна и та же цифра (некоторая цифра X).

Итак, на всех карточках — кроме, быть может, A — написана цифра X.
Заменим теперь одну из k карточек на столе карточкой А. На столе по-прежнему k карточек, значит, по предположению индукции, на них всех написана одна и та же цифра (которую мы выше обозначили через X). В том числе цифра X написана и на карточке А, которую мы вначале сняли, а теперь вернули на стол.

Итак, на карточке А тоже написана цифра X.

Значит, на всех n карточках (n = k + 1) написана цифра X, что и требовалось доказать.

Таким образом, в терминах § 1 утверждение Y1 верно, и за каждым верным утверждением Yk (1≤k≤99) следует верное утверждение Yk+1. Следовательно, все утверждения Yn верны (1≤n≤100). И как ни поразителен наш фокус с карточками, он теперь обязан всегда получаться — это строго доказано!

Мне не понятно заключение что на карточке А тоже цифра X, следующее
из того что мы предположили что на k карточках все цифры одинаковые(что за цифра на карточке А нам не известно), потом мы меняем одну из карточек k на карточку А(с неизвестной нам цифрой!) и потом делается вывод что на карточке а та же цифра что и на всех остальных! Помоему это нужно как раз таки доказать....в общем помогите разобраться, я не в состоянии,видимо моск не так повернут

P.S. Из желания проверить это все написал программку(возможно что то делал не так), результат не подтвердился. Вот код

var ind = new Array(998);
for (var a = 0; a <=110; a++){
ind[a]=1;
}
for (var a = 111; a <=221; a++){
ind[a]=2;
}
for (var a = 222; a <=332; a++){
ind[a]=3;
}
for (var a = 333; a <=443; a++){
ind[a]=4;
}
for (var a = 444; a <=554; a++){
ind[a]=5;
}
for (var a = 555; a <=665; a++){
ind[a]=6;
}
for (var a = 666; a <=776; a++){
ind[a]=7;
}
for (var a = 777; a <=887; a++){
ind[a]=8;
}
for (var a = 887; a <=998; a++){
ind[a]=9;
}

function getRandomInt(min,max)
{
return Math.floor(Math.random() * (max-min +1))+min;
}
var randN = getRandomInt(1,100);
for (j = 0; j< randN; j++){
randNind = getRandomInt(0,998);
var Value = ind[randNind];
document.write("Значение цифры на карточке с номером "+randNind+" составляет "+Value+"<br>")

Не реализовал только перемешивание, цифр в массиве. Но думаю это можно опустить, так как "карточки" и так извлекаются рандомно.
P.P.S
Подскажите как заполнить главный массив элегантнее=)
Ответить с цитированием
  #2 (permalink)  
Старый 16.10.2011, 21:18
Аспирант
Отправить личное сообщение для Sundro Посмотреть профиль Найти все сообщения от Sundro
 
Регистрация: 25.05.2011
Сообщений: 46

Кстати вот та самая статья http://www.problems.ru/articles/215.php
Ответить с цитированием
  #3 (permalink)  
Старый 16.10.2011, 22:23
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Это матюмор.
в конце статьи описано неверные предпосылки в рассмотренных примерах.
ну, кроме этого конкретного.

В нем, по аналогии с задачей о девушках совершен неверный переход от n=1 к n=2
Ответить с цитированием
  #4 (permalink)  
Старый 16.10.2011, 22:31
Аспирант
Отправить личное сообщение для Sundro Посмотреть профиль Найти все сообщения от Sundro
 
Регистрация: 25.05.2011
Сообщений: 46

Я всегда читать до конца!
Я всегда читать до конца!
...
P.S Спасибо теперь, моя душа спокойна =)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск