Резюме
З урахуванням введенням k
, знайти розбиття чисел 1
на n
в k
вільних від сум , підмножин найбільшого n
ви можете в протягом 10 хвилин.
Передумови: номери Шура
Набір A
без суми, якщо його сума-сума A + A = { x + y | x, y in A}
не має спільних з ним елементів.
На кожне додатне ціле число k
існує найбільше ціле число, S(k)
таке, що набір {1, 2, ..., S(k)}
можна розділити на k
безмножинні підмножини. Це число називається k- м номером Шура (OEIS A045652 ).
Наприклад, S(2) = 4
. Ми можемо розділити {1, 2, 3, 4}
як {1, 4}, {2, 3}
, і це унікальний розділ на два безмножинні підмножини, але тепер ми не можемо додати 5
до жодної частини.
Виклик
Напишіть детерміновану програму, яка робить наступне:
- Візьміть натуральне число
k
як вхідне - Напишіть поточну мітку Unix для stdout
- Виходи послідовності розбиттів
1
доn
Into ,k
вільні від сум підмножин для збільшенняn
, після кожної послідовності з поточної тимчасової міткою Unix.
Переможцем стане програма, яка надрукує розділ для найбільшого n
протягом 10 хвилин на моєму комп’ютері при даному введенні 5
. Зв'язки будуть порушені в найшвидший час, щоб знайти розділ для найбільшого n
, усередненого за три запуски: тому висновок повинен включати часові позначки.
Важливі деталі:
- У мене є Ubuntu Precision, тому якщо ваша мова не підтримується, я не зможу її оцінити.
- У мене є процесор Intel Core2 Quad Quad, тому якщо ви хочете використовувати багатопотоковість, немає сенсу використовувати більше 4 потоків.
- Якщо ви хочете, щоб я використовував якісь конкретні прапори компілятора чи реалізацію, документуйте це чітко у своїй відповіді.
- Ви не маєте особливого обліку свого коду для обробки даних
5
. - Від вас не вимагається виводити кожне покращення, яке ви знайдете. Наприклад, для введення
2
ви можете вивести тільки розділn = 4
. Однак, якщо ви нічого не виведете за перші 10 хвилин, то я зарахую це якn = 0
.
n=59
та сортування за найбільшою кількістю дозволених чисел, меншою, ніжnextN
даєn=64
. Сортування за довжиною списку заборонених чисел (яке може мати повтори) дуже швидко призводить до елегантногоn=30
малюнка.