Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Алгоритм сортировки в массив 
:(
    Опции темы
ziga
Дата 30.7.2007, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 273
Регистрация: 25.4.2007

Репутация: нет
Всего: 1



Задача такая берётся число например 17 (оно может быть любым) для него надо создать 2хмерный массив, для числа 17 он должен быть таким:
 х х х х х
 х х х х х
 х х х х х
 х х 0 0 0

х - заполнено
0 - пусто

Сама задача заключается в том, что бы определить размер массива зная число, я собираюсь это делать так: взять две переменные x, y которые равны x=2, y=1
и циклом проверять если x * y < 17 то x = x + 1, y = y + 1
И так пока не будет выполнено условие, мне кажется, что это не самый лучший вариант может есть какие идеи получше?  

PM MAIL   Вверх
ivashkanet
Дата 30.7.2007, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: нет
Всего: 149



[AttrDefID] А по какому принципу для 17 массив будет 4*5?
Судя по 
Цитата(ziga @  30.7.2007,  13:22 Найти цитируемый пост)
Сама задача заключается в том, что бы определить размер массива зная число, я собираюсь это делать так: взять две переменные x, y которые равны x=2, y=1

получаем правило: число строк на 1 меньше числа столбцов.
Тогда легко можно получить формулу:
X -- число строк, A -- входной параметр (17).
Задача, найти наименьшее X для которого выполняется
X * (X+1) > A
X^2 + X - A > 0
D = 1 + 4A
X_1,_2 = (-1 +-sqrt(D))/2
Неравенству удовлетворяют числа (-oo;X_1) или (X_2; +oo) (X_2  -- с плюсом)
Тогда искомое число будет наименьшее целое число не меньшее X_2: X_2 (когда X_2 целое) и [X_2] +1, когда нет.


Все вместе:
                            (-1 + sqrt(1+4A))/2, если это выражение целое
Число строк= 
                            [(-1 +sqrt(1 + 4A)/2] + 1, если нет.

Это сообщение отредактировал(а) ivashkanet - 30.7.2007, 14:46
PM MAIL WWW ICQ   Вверх
ziga
Дата 30.7.2007, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 273
Регистрация: 25.4.2007

Репутация: нет
Всего: 1



Спасибо
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0384 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.