Как стать автором
Обновить

Выберите число от 1 до 99

Время на прочтение1 мин
Количество просмотров5.7K
Опишем простую процедуру. Выберем натуральное число N от 1 до 99 и сопоставим ему число, равное количеству букв в записи N в виде слова какого-то языка. Для полученного числа снова повторим эту операцию. Для русского языка получается довольно симпатичное дерево, в котором есть три цикла 3→3, 11→11 и 6→5→4→6.

image


Интересно, что в английском языке не более, чем за пять шагов мы придем к 4 и зациклимся.
Вот пример короткого кода на Ruby, производящего нужный нам граф для английского языка
require 'humanize'
require 'rgl/adjacency'
require 'rgl/dot'

result = RGL::DirectedAdjacencyGraph.new
1.upto(99) { |i|
	result.add_edge(i.to_s, i.humanize(locale: :en).length.to_s)
}
result.dotty




Аналогично устроен код для французского языка
result = RGL::DirectedAdjacencyGraph.new
1.upto(99) { |i|
	result.add_edge(i.to_s, i.humanize(locale: :fr).length.to_s)
}
result.dotty

В этом случае мы приходим к циклу 5→4→6→3→5.
Теги:
Хабы:
Всего голосов 37: ↑20 и ↓17+3
Комментарии31

Публикации

Истории

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
11 сентября
Митап по BigData от Честного ЗНАКа
Санкт-ПетербургОнлайн
14 сентября
Конференция Practical ML Conf
МоскваОнлайн
19 сентября
CDI Conf 2024
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн