| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Как расставить N чисел равноудалённо? |
| Автор: Proger10 8.1.2014, 01:29 |
| Возникла проблема, не знаю с какой стороны подступиться. Отупение какое-то нашло на меня =) У меня есть 50 чисел (0..49, по порядку), нужно выбрать N чисел да так, чтобы они были максимально равноудалены друг от друга (начать можно прямо с выбора первого числа и далее). Я не понимаю как можно выбрать такие числа, если 50/N даёт дробные значения. Если N = 5, то тут без проблем - каждое пятое равноудалено, а что если N = 19? Нужно выбирать 2.63-ье число, а как это? Как получить оптимальную равноудалённость чисел друг от друга насколько это возможно? |
| Автор: paperstreet7 8.1.2014, 08:53 |
| Можно более точную формулировку задачи? 50 чисел в каком диапазоне? упорядочены ли числа? это случайный набор или они идут по порядку от 0 до 50? Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Как-расставить-N-чисел-равноудалённо-id52cc7fedae2015423f8b4567#findElement_E7045_52cce7c2ae20159619564376_0 |
| Автор: Akina 8.1.2014, 12:38 | ||
Округляй после умножения. 1 * 2.63 = 2.63 -> 3 2 * 2.63 = 5.26 -> 5 3 * 2.63 = 7.89 -> 8 ... 19 * 2.63 = 49.97 -> 50 |
| Автор: shgurbanov 16.1.2014, 19:53 |
| Сортировка как раз таки и даст то что нужно, числа максимально удаленные друг от друга 1 + n 2 + n-1 3 + n-2 Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Как-расставить-N-чисел-равноудалённо-id52cc7fedae2015423f8b4567#findElement_E7045_52d80e76ae20151c04305102_0 |