Pull to refresh

Comments 69

А 1/99980001 даст все от нуля до 9999. Вот оказывается как выглядит запись интервала на языке программирования Вселенной!)
Сильно. А дальше — что? Может, последовательность сохраняется, но с наслаиванием? Тогда, правда, оно перейдёт так:

996997999000001002003004
?
Да, так и есть — см. мой комментарий ниже :)
пс. так виднее последовательность:
Не совсем все: числа 998 в последовательности не будет, после 997 сразу идет 999. Объясняется переносом единицы из 1000 в 999, из-за чего из 999 становится 1000, из которй единица опять же переносится в 998 и делает из него 999.

Если делить 1/99980001, получим последовательность 0000...9999, в которой будет 998, но не будет 9998, по той же причине.
Нашли проблему? Отправьте багрепорт! :)
Расмотрим желаемое число. Оно выглядит как 0.000001002...n, где n — верхняя грань, число из трех цифр, в данном случае 999.
Забьем пока на три ведущих нуля. Чтобы выписать только все числа от 1 до n таким образом, нужно сдвинуть каждое на три разряда после запятой относительно предыдущего, т.е. умножить на 10^-3. Итоговая формула:

N = \sum_{i=1}^n i\cdot 10^{-3i}

Решим этот ряд: WolframAlpha.

В знаменателе 998001. Вычислим числитель при n = 999: WolframAlpha.
Получим отвратительно неприятное число, которое примерно равно 1000 с нужным числом нулей после запятой и неважным нам остатком после этого. Если поделить теперь результат на 1000, мы получим желаемый результат = 0.000001002...999.

Q.E.D.

P.S. Метод обобщается на произвольное число знаков в группе, не обязательно 3. Это число просто ставится в показатель десятки.
А дальше там будет идти до бесконечности прогрессия, как описано в комментариях выше?
Ну я представил метод построения такого числа, который контролирует исключительно первые 3n+3 знаков после запятой. Из данного доказательства сделать вывод про дальнейшие знаки не получится, оно только говорит, что приближение числителя к единице даст требуемую точность. То, что числитель = 1 обладает еще какими-то свойствами, придется строго доказать отдельно.
Дробью невозможно выразить число, в котором прогрессия шла бы до бесконечности, так как такое число иррационально.
Но ведь многие дроби дают иррациональные числа
Конечно же, нет. Иррациональное число по определению не может быть дано дробью.
Согласен. Я по ночь чуть запутался в терминах.
Я имел ввиду дроби, которые при переводе в десятичную систему являются периодическими.
Такие дроби (например, 1/3 = 0,(3)) тоже не являются иррациональными числами :)
Вы, наверное, имели в виду просто числа с плавающей запятой.
Все дроби периодичны. Просто у некоторых 0 в периоде.
… обычной дробью. Есть же ещё цепные, которые почему-то исключили из институтского курса.
Мне особенно нравится в этом доказательстве шаг «решим этот ряд в WolframAlpha». :)
Мне было лень расписывать прогрессию, комментарий и так длинный :) А читателю нагляднее.
Это должно быть достаточно просто доказать, причём вовсе необязательно на это случайно натыкаться.

0.000 001 002 003… = SUM 1000^(-n) * (n — 1)

Попробуем это свернуть. Заменим 1000 на t. Получим:

SUM t^(-n) * (n — 1) (n = 1, 2, ...)

Заметим, что это — производная по t от следующей суммы:

— SUM t^(-n — 1) = -1 / (1 — 1/t) = -t / (t — 1) = -1 — 1 / (t — 1)

(Тут применялась формула для суммы геометрической прогрессии.)

Дифференцируем эту дробь, чтобы получить формулу для первоначальной суммы:

( -1 — 1 / (t — 1) )' = 1 / (t — 1)^2

Итого, подставляя t = 1000, получаем то что хотели:

0.000001002003004… = 1 / 999^2 = 1 / 998001
Там 0.000 001 002 003… = SUM 1000^(-n) * ((n — 1)%1000). А это считать гораздо противнее.
То что вы написали, тоже считается довольно просто. Это:

1002003004...999 / (10^3000 — 1)

Но эта дробь ни до чего короткого не сокращается.
См.ниже. Записывается в 30 знаков без всяких многоточий.
Спасибо. Мне было лень приводить 1002003...999 к компактному виду. :) Я имею в виду что это не будет с маленькими числителем и знаменателем.
Maple говорит, что она сокращается на 999. И результат тоже довольно интересный:
1003006010015021028036045055...056046037029022016011007004002001/10010010010010...01001001001001001
Откуда берутся треугольные числа в начале, понятно. Но почему так выглядит хвост числителя?
В детстве я развлекался тем что выводил на считающие устройства все их символы, одновременно немножно их блокируя.
На примере простого калькулятора:
— заносим что-то в ячейку (отобразилось M)
— вводим -88888888....9 — сколько есть места столько 8-к
— умножаем на 9999999...9
— отображается error и калькулятор перестает реагировать кроме как на сброс…
А я развлекался тем, что добывал из калькулятора БЗ-38 две цифры всяких чисел, которые не укладывались в 8 знаков на экране. Например, для ln(2), или tg(1). А потом проверял на бумажке, правильно ли он считает. Получалось, что правильно.
суровое детство
А что делать. Персональных компьютеров тогда еще не было.
Да ладно! ) Между прочим это очень интересно и полезно (для развития интуиции). Я тоже помню руками выписывал для квадратичных иррациональностей приближенные десятичные разложения по многу знаков, и для дробей уже точные.
Я потом где-то прочитал что Гаусс (да-да — в детстве) руками считал периоды дробей 1/p где p простое <=1000.
Для интуиции, для памяти, для внимательности. Кроме того, заставляет искать более эффективные пути решения, а это всегда пригодится.
А я находил комбинацию, при которой при постоянном нажатии на = цифры бегали, типа, первый кадр:

10101010


второй:
01010101


Получалась какая-никакая, а анимация :)
а я только умел писать hello переворачивая экран с 0,1134 :)
Может кто не заметил но не все так гладко:
>>1 на 998001 дает в результате все числа от 001 до 999.
Нет числа 998

>>Если вам интересна такого рода математика, то 1/9801 выдаст похожий результат, последовательность чисел от 01 до 99
Нет числа 98
А в 1/81 отсутствует 8. Выше уже описали причину.
Можно посмотреть и в *nix
echo "scale=3000; 1/998001" | bc -l
А там можно на Java (для удобства — в столбик по 3 цифры):
import java.math.BigDecimal;

public class CoolDividing {
	public static void main(String[] args) {
		BigDecimal a=new BigDecimal(1), b=new BigDecimal(998001), c=new BigDecimal(0);
		c = a.divide(b, 3000, BigDecimal.ROUND_FLOOR);
		System.out.println(c.toString().replaceAll("([0-9]{3})", "$0\n"));
	}
}
Число, в котором 998 не пропущено, выглядит так:

1/999^2-1/(0.999*(10^3000-1)) = (1/999 — 1000/(10^3000-1))/999.

Не так красиво, как 1/998001. Зато работает.
Зато в нем пропущено 000 и 001
Сейчас проверил — не пропущено. В начале — 0.000001002..., в окрестности 3000-го знака — ...997998999000001002…
Занимательная математика для среднего звена школы. Хотя написать программу выдающую этот код уже интересно (длинная арифметика) — но тоже школьникам.
Спасибо, добавил в метод — копилку!
Но очень печально, что многие не знают как получают такие «красивые» дроби.
Вот что за зануды такие? Я, например, не знал, как получить такую «красивую» дробь, многие не знали. А вы говорите, что это математика для «среднего звена» школы, следуя вашей логике — мои знания ниже средних школьных. Такое же занудство относиться и к фразам, типа: «Вы только узнали, это же ведь школьная математика, пятый класс!»

Серьезно, надоела эта гиперболизация, простите за резкий ответ.
Я — учитель! Я трезво оценил уровень.
Если «Евгений Онегин» проходится в школе — это не значит, что он прост, поверхностен и примитивен!
«Евгений Онегин» необходим для культурного и патриотического воспитания молодежи. А «красивые» дроби суть буржуазная лженаука и оппортунизм.
Мне жаль ваших учеников.
А и кстати, среднее звено — это с 5 по 9 класс. Такие вещи хорошо давать факультативно
ЗЫ Да я страшный зануда!
Не у всех была нормальная математика в школе
А кто-нибудь сказал, что это школьная математика? Занимательную математику в школах редко проходят, если проходят вообще. Ее лучше узнать из книжек и журналов.
Не знаю что такое занимательная математика в плане школьной программы(я только про книжку такую знаю), но мы учили то как получить такие дроби еще в 9 классе, когда проходили геом. прогрессию. А может это все из за того что мы класс с углубленным изучением математики… Но тем не менее, огромное спасибо автору за то что напомнили такую занимательную штуковину :)
UFO just landed and posted this here
Интересно, какие еще полные квадраты, записанные в обратном порядке, дадут полный квадрат. Не считая тех, которые будут квадратами в любой системе счисления, вроде 1062961.
UFO just landed and posted this here
Еще один зануда, простите.

Хабр, на сколько я знаю, регулирует себя сам, что ему интересно — то и в топе.
Вот для мышей сутки закончатся, и эта статья выйдет на 1-е место :)
Вспомнилось такое вот замечательное число:

142857 * 1 = 142857
142857 * 3 = 428571
142857 * 2 = 285714
142857 * 6 = 857142
142857 * 4 = 571428
142857 * 5 = 714285

142857 * 7 = 999999
Таких чисел много. Например, 0434782608695652173913.
А еще можно взять два числа — 076923 и 153846. Если первое умножить на что-нибудь от 1 до 12, или второе — на что-нибудь от 1 до 6, то получится циклическая перестановка цифр какого-нибудь из этих чисел.
UFO just landed and posted this here
Это свойство так называемых «полных периодов», периодов дробей с простым знаменателем, у которых число знаков в периоде на один меньше самого числа. Так будет для 1/7 (142857), 1/17 (0588235294117647), 1/19 (052631578947368421), 1/23 (0434782608695652173913), 1/29 (0344827586206896551724137931) и тд.
Напомнило:

В далеких шестидесятых, когда компьютеры были большими, а 20-мегабайтовые винчестеры напоминали собой стиральные машины, родилась одна из красивейших легенд о зеленом инопланетном существе, прилетевшим со звезд и записавшим всю Британскую энциклопедию на тонкий металлический стержень нежно-серебристого цвета, который существо и увезло с собой. Сегодня, когда габариты 100 Гб жестких дисков сократились до размеров сигаретной пачки, такая плотность записи информации уже не кажется удивительной и даже вызывает улыбку. Но! Все дело в том, что инопланетное существо обладало технологией записи бесконечного количества информации на бесконечно крошечном отрезке и Британская энциклопедия была выбрала лишь для примера. С тем же успехом инопланетянин мог скопировать содержимое всех серверов Интернета, нанеся на свой металлический стержень всего одну-единственную риску. Не верите? А зря! Переводим Британскую энциклопедию в цифровую форму, получая огромное-преогромное число. Затем — ставим впереди него запятую, преобразуя записываемую информацию в длиннющую десятичную дробь. Теперь только остается найти два числа A и B, таких, что результат деления A и B как раз и будет равен данному числу с точностью до последнего знака. Запись этих чисел на металлических стержень осуществляется нанесением риски, делящей последний на два отрезка с длинами, кратными величинам А и B соответственно. Для считывания информации достаточно всего лишь измерить длины отрезков А и B, а затем — поделить один на другой.

Крис Касперски — Могущество кодов Рида-Соломона или информация, воскресшая из пепла
Не пугайте больше так. Дальше оттуда же:
«Первый десяток чисел после запятой будет более или менее точен, ну а потом… Потом жестокая практика опустит абстрактную теорию по самые помидоры, окончательно похоронив последнюю под толстым слоем информационного мусора, возникающего из невозможности точного определения геометрических размеров объектов реального мира.»
Действительно, длина стержня будет всего порядка миллиарда радиусов атома, о какой точности может быть речь?
Значит придется брать много стержней радиусом в несколько (или в даже в один) атом, и каждый делить риской в различных пропорциях :) Правда, учитывая что размеры магнитных доменов в современных дисках уже бывают и по 10 нм — думаю что заморачиваться со стержнями с риской никто уже не будет.
Это ахуенно красиво!

(Извините за мат)
Только сейчас, когда мне уже 25 я всё острее понимаю, что математика — это искусство. Это красиво.
И я плачу кровавими слезами, что я не понял этого ранее — еще в школе и не проникся в вузе.

Сейчас наверное уже поздно пить Боржоми… :(
Sign up to leave a comment.

Articles