|
|
|
Задачка с дробями.
|
|||
|---|---|---|---|
|
#18+
Дано N (натуральное). Вывести список рациональных дробей в неубывающем порядке где числитель и знаменатель - целые от 1 до N. И числитель не больше знаменателя (т.е. результат дроби меньше 1.0) Вход: 5 Выход: 1/5 1/4 1/3 2/5 1/2 3/5 2/3 3/4 4/5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2013, 14:31 |
|
||
|
Задачка с дробями.
|
|||
|---|---|---|---|
|
#18+
Забыл дописать "БЫСТРО!" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2013, 14:36 |
|
||
|
Задачка с дробями.
|
|||
|---|---|---|---|
|
#18+
Дроби также должны быть несократимыми, судя по примеру? O(N 2 ) понятно как (хранить массив "следующих" числителей и на каждом шаге находить соответствующий минимальной дроби и увеличивать его), но, кажется, можно быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2013, 15:01 |
|
||
|
Задачка с дробями.
|
|||
|---|---|---|---|
|
#18+
Да. Дробь 2/4 выпадает из списка т.к. это суть 1/2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2013, 15:03 |
|
||
|
Задачка с дробями.
|
|||
|---|---|---|---|
|
#18+
wadmanЗабыл дописать "БЫСТРО!" Это олимпиадная. Но в данном форуме мы можем медитировать над ней достаточно долго. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2013, 15:04 |
|
||
|
Задачка с дробями.
|
|||
|---|---|---|---|
|
#18+
mayton, какие ограничения на память и скорость? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2013, 15:06 |
|
||
|
Задачка с дробями.
|
|||
|---|---|---|---|
|
#18+
По учебнику N<=255. Но я решил снять ограничение для этого форума. По остальному - задачки писались для учебника в TurboPascal 7.0. Память и всё остальное - соотвественно можете выбрать исходя из этих сведений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2013, 15:11 |
|
||
|
Задачка с дробями.
|
|||
|---|---|---|---|
|
#18+
На самом деле, самое "сложное" - это проверка сократимости дробей. По сравнению с этим, все остальное (построение дробей, расположение их в неубывающем порядке) - требует намного меньше затрат ресурсов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2013, 16:13 |
|
||
|
Задачка с дробями.
|
|||
|---|---|---|---|
|
#18+
AndreTMНа самом деле, самое "сложное" - это проверка сократимости дробей. По сравнению с этим, все остальное (построение дробей, расположение их в неубывающем порядке) - требует намного меньше затрат ресурсов. Да. Я думал об этом. Если расположить дроби квадратной матрицей (там верхняя половина выше диагонали выходит) то часть дробей надо будет вычеркнуть из проверки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2013, 16:19 |
|
||
|
Задачка с дробями.
|
|||
|---|---|---|---|
|
#18+
Я подумал так - строим матрицу разложения чисел на простые множители (даже необязательно вычислять степень сомножителя, достаточно признака того, что существует хотя бы один такой в числе), по ней легко затем находятся несократимые пары. Затем перебираем показатели числитель/знаменатель в порядке возрастания величины дроби, при этом выводя только несократимые. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2013, 16:33 |
|
||
|
Задачка с дробями.
|
|||
|---|---|---|---|
|
#18+
Я тоже думал о разложении. Но недавно мне подсказали что для решения данной задачи (сокращение дроби) достаточно алгоритма Евклида для расчета НОД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2013, 17:33 |
|
||
|
Задачка с дробями.
|
|||
|---|---|---|---|
|
#18+
если я правильно понял идею 13851216 то сокращать дроби не придется, т.к. все одинаковые по значению будут найдены последовательно, и можно указать самую простую из них (с наименьшим знаменателем). тот алгоритм требует O(N) памяти на всё про всё и порядка O(N) времени на одну дробь (каждый раз поиск минимальной дроби по всем делителям). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2013, 17:42 |
|
||
|
Задачка с дробями.
|
|||
|---|---|---|---|
|
#18+
maytonЯ тоже думал о разложении. Но недавно мне подсказали что для решения данной задачи (сокращение дроби) достаточно алгоритма Евклида для расчета НОД.угу.. кмк, если для двух чисел - числителя и знаменателя, существует даже не НОД, а просто общий делитель, то эту дробь надо выкидывать из списка результатов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2013, 17:55 |
|
||
|
Задачка с дробями.
|
|||
|---|---|---|---|
|
#18+
S.G.maytonЯ тоже думал о разложении. Но недавно мне подсказали что для решения данной задачи (сокращение дроби) достаточно алгоритма Евклида для расчета НОД.угу.. кмк, если для двух чисел - числителя и знаменателя, существует даже не НОД, а просто общий делитель, то эту дробь надо выкидывать из списка результатов. Это смотря как обходить. Я искал решение класса "конечный автомат". Чтобы обходя матрицу дробей выводит их в неубывающем порядке. Тоесть без доп. массивов и сорт. структур. Но пока чет не вышло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2013, 17:58 |
|
||
|
Задачка с дробями.
|
|||
|---|---|---|---|
|
#18+
maytonДано N (натуральное). Вывести список рациональных дробей в неубывающем порядке где числитель и знаменатель - целые от 1 до N. И числитель не больше знаменателя (т.е. результат дроби меньше 1.0) Вход: 5 Выход: 1/5 1/4 1/3 2/5 1/2 3/5 2/3 3/4 4/5о. тут ленивые вычисления помогут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2013, 18:17 |
|
||
|
Задачка с дробями.
|
|||
|---|---|---|---|
|
#18+
maytonТоесть без доп. массивов и сорт. структур.где ты это написал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2013, 18:25 |
|
||
|
Задачка с дробями.
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNmaytonТоесть без доп. массивов и сорт. структур.где ты это написал? Зачем я буду ограничивать полёт чужой мысли? Я привел постановку олимпиадной задачи. Как есть. А то что я искал это - отдельная тема. Можно искать а можно и забить. Но "ленивое решение" мне еще интреснее будет. Жду... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2013, 18:27 |
|
||
|
Задачка с дробями.
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. почему на форуме нету хацкельного тега срц? ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2013, 18:37 |
|
||
|
Задачка с дробями.
|
|||
|---|---|---|---|
|
#18+
maytonЖду... done. макс необходимая использумая паять(из-за сборщика) = паять под текущий результат + память под n чисел(т.е. для каждого числителя от 1-го до n). благодаря ленивости, под все знаменатели память выделять не нужно(достаточно по одному для каждого числителя). т.е. используемая память - 2*n*sizeof(Rational) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2013, 18:40 |
|
||
|
Задачка с дробями.
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaN, а в каком виде выводит? Просто из-за отсутствия форматирования со слешом типа "%i/%i" непонятно. И что делает пакет Data.Ratio ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2013, 18:41 |
|
||
|
Задачка с дробями.
|
|||
|---|---|---|---|
|
#18+
maytonZyK_BotaN, а в каком виде выводит? Просто из-за отсутствия форматирования со слешом типа "%i/%i" непонятно. И что делает пакет Data.Ratio ?тип данных - рациональные числа. с лева от % - числитель, справа знаменатель. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2013, 18:45 |
|
||
|
Задачка с дробями.
|
|||
|---|---|---|---|
|
#18+
Про [ src=haskel ] я подниму вопрос в модераторском форуме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2013, 18:52 |
|
||
|
Задачка с дробями.
|
|||
|---|---|---|---|
|
#18+
maytonПро [ src=haskel ] я подниму вопрос в модераторском форуме.я пошутил. в хаскеле нечего подсвечивать. там кроме ключевых слов "modul, import, let, where, do" - нечего подсвечивать. исходник хаскеля с подсветкой синтаксиса - не отличается от обычного текста )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2013, 18:57 |
|
||
|
Задачка с дробями.
|
|||
|---|---|---|---|
|
#18+
А я вспомнил. Я читал эту тему у Душкина. Но меня особо поразило что Хаскель исходник - это не исходник с каментами а текст с вкраплениями исходников. Это конечно другим ЯП не дано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2013, 19:02 |
|
||
|
|

start [/forum/topic.php?fid=16&fpage=59&tid=1341932]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
71ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
| others: | 244ms |
| total: | 411ms |

| 0 / 0 |
