Сегодня товарищ загадал мне интересную задачку на программирование. А я, как известно, обожаю задачки на программирование! И вовсе не потому, что математику я всю уже забыл, а физику никогда толком не знал. ;))
Просто, когда составляешь алгоритм, красивое и элегантное решение - чувствуешь себя в некотором роде творцом прекрасного. Ну как художник, рисующий шедевр, или композитор, создающий своё бессмертное творение. У программиста нет другой возможности поделиться с миром чем-то прекрасным - кроме как красиво решать интересные задачи.
Вообщем, вот условие:
• Дан скалярный массив из, например, 10.000 элементов.
• Нужно обеспечить перебор всех элементов массива - произвольным случайным образом. Но так, чтобы каждый элемент встретился в переборе только один раз.
И прежде чем вы начнёте её решать, одно примечание: В задаче критично время перебора - то есть выбирать элементы надо как можно быстрее.
Жду ваших решений в коментах.. ;)
Просто, когда составляешь алгоритм, красивое и элегантное решение - чувствуешь себя в некотором роде творцом прекрасного. Ну как художник, рисующий шедевр, или композитор, создающий своё бессмертное творение. У программиста нет другой возможности поделиться с миром чем-то прекрасным - кроме как красиво решать интересные задачи.
Вообщем, вот условие:
• Дан скалярный массив из, например, 10.000 элементов.
• Нужно обеспечить перебор всех элементов массива - произвольным случайным образом. Но так, чтобы каждый элемент встретился в переборе только один раз.
И прежде чем вы начнёте её решать, одно примечание: В задаче критично время перебора - то есть выбирать элементы надо как можно быстрее.
Жду ваших решений в коментах.. ;)