|
|
|
еще одна задача по прогаммированию
|
|||
|---|---|---|---|
|
#18+
в последнне время как обычно перед сессией увеличилось кол-во постов от учащихся с просьбой решить элементарные задачи по программированию( сложить, умножить матрицы и т.д. ) меня тоже настигла эта волна в виде бывшего одногруппника, который в разговоре по аське поделился печалью как он решал задачу по програмированию 2 дня. мне стало очень интересно .. условие задачи он скинул - и ничего экстраординарного в ней не было.. у меня на решение данного примера ушло около 15 минут - это гораздо меньше но не показательно, дело в том что одногруппник весьма далек от программирования Условиеданы числа 1, 2, 3, 4, 5, 6, 7. Как их сложить, используя все семь, чтобы получилось 99. Пример сложения: 1+2+3+54+67, 21+34+7+6+5, 1+2+3+4+5+6+7 1+27+3+46 и т.д. меня боле заинтересовало на сколько сильно можно оптимизировать решение, на сколько туго закрутиь все гайки. чтобы получить максимальный результат. и так предлагаю что-то вроде конкурса на самое оптимальное решение: 1. по скорости 2. по количеству строк кода мой вариант смотрите ниже - Цель в жизни определяет все.. Выбор есть всегда.. Но мы часто не хотим его делать.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 19:18 |
|
||
|
еще одна задача по прогаммированию
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. из принципа оптимизации следует ввести проверку числа В : В должно быть меньше 86 так как 1+2+3+4+5 +B(86) >99 - Цель в жизни определяет все.. Выбор есть всегда.. Но мы часто не хотим его делать.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 19:24 |
|
||
|
еще одна задача по прогаммированию
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. Цель в жизни определяет все.. Выбор есть всегда.. Но мы часто не хотим его делать.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 19:28 |
|
||
|
еще одна задача по прогаммированию
|
|||
|---|---|---|---|
|
#18+
-Sergey-... и так предлагаю что-то вроде конкурса на самое оптимальное решение: 1. по скорости 2. по количеству строк кода ... 3. лучше на понятность кода а то ish, vart и прочая куча вложенных циклов и условий ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 19:54 |
|
||
|
еще одна задача по прогаммированию
|
|||
|---|---|---|---|
|
#18+
-Sergey-Как их сложить, используя все семь, чтобы получилось 99. По-моему, никак. Выходит ноль результатов. -Sergey-1. по скорости Лень, честно говоря. -Sergey-2. по количеству строк кода Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 20:01 |
|
||
|
еще одна задача по прогаммированию
|
|||
|---|---|---|---|
|
#18+
Странно, мой код сказал, что таких комбинаций нет :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 20:05 |
|
||
|
еще одна задача по прогаммированию
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 20:08 |
|
||
|
еще одна задача по прогаммированию
|
|||
|---|---|---|---|
|
#18+
Тут негде соревноваться по скорости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 20:09 |
|
||
|
еще одна задача по прогаммированию
|
|||
|---|---|---|---|
|
#18+
я тож не нашёл 64 варианта самый близкий 1 + 23 + 4 + 5 + 67 = 100 тото он второй день решает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 20:45 |
|
||
|
еще одна задача по прогаммированию
|
|||
|---|---|---|---|
|
#18+
-Sergey-мой вариант смотрите ниже 1) мешанина из Си и С++ 2) обилие нечитаемых имен переменных 3) возможно считает не правильно. В условии не сказано что можно одну и туже цифру использовать дважды. Впрочем и запрета на это нету, хотя он обычно подразумевается в таких задачах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 20:54 |
|
||
|
еще одна задача по прогаммированию
|
|||
|---|---|---|---|
|
#18+
White Owl.. 3) возможно считает не правильно. В условии не сказано что можно одну и туже цифру использовать дважды. Впрочем и запрета на это нету, хотя он обычно подразумевается в таких задачах. вот блин, я не заметил даже, что их можно переставлять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 21:04 |
|
||
|
еще одна задача по прогаммированию
|
|||
|---|---|---|---|
|
#18+
0bsidсамый близкий 1 + 23 + 4 + 5 + 67 = 100 Да, если скорректировать, вариантов полно. Например, без единицы: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 21:05 |
|
||
|
еще одна задача по прогаммированию
|
|||
|---|---|---|---|
|
#18+
0bsid softwarer and other да я действительно не сказал что мой вариант "условно" правильный. :-) При заданных условиях (не использовать перестановку , использовать цифру только один раз ) толку в нем ноль.. 3. читабельность кода(оформление) - это хороший критерий , и мой код на него не претендует, но учитывать его стоит. по признаку 2 и 3 наиболее удачным является пример softwarer - Цель в жизни определяет все.. Выбор есть всегда.. Но мы часто не хотим его делать.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 22:00 |
|
||
|
еще одна задача по прогаммированию
|
|||
|---|---|---|---|
|
#18+
если кому-то еще данный топик интересен предлагаю следующую задачку Условие: написать функцию которая на входе получает байт а на выходе возвращает количество установленных в нем битов, написать несколько вариантов функции : а) опитимизованный по памяти б) оптимизированный по скорости данную задачу я прочитал давно на каком-то форуме посвященному поиску работы, и на авторство не предендую. - Цель в жизни определяет все.. Выбор есть всегда.. Но мы часто не хотим его делать.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 22:21 |
|
||
|
еще одна задача по прогаммированию
|
|||
|---|---|---|---|
|
#18+
-Sergey- Условие: написать функцию которая на входе получает байт а на выходе возвращает количество установленных в нем битов, написать несколько вариантов функции : а) опитимизованный по памяти б) оптимизированный по скорости данную задачу я прочитал давно на каком-то форуме посвященному поиску работы, и на авторство не предендую. Возникают сомнения в том, что здесь вообще что-то можно оптимизировать. Алгоритм известен 100 лет и туп как дрова. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 22:59 |
|
||
|
еще одна задача по прогаммированию
|
|||
|---|---|---|---|
|
#18+
Алгоритм - слишком громкое слово Упражнение на знание системы команд. Для Эльбруса - одна команда - ПЧЕ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 23:21 |
|
||
|
еще одна задача по прогаммированию
|
|||
|---|---|---|---|
|
#18+
:( -Sergey- Условие: написать функцию которая на входе получает байт а на выходе возвращает количество установленных в нем битов, написать несколько вариантов функции : а) опитимизованный по памяти б) оптимизированный по скорости данную задачу я прочитал давно на каком-то форуме посвященному поиску работы, и на авторство не предендую. Возникают сомнения в том, что здесь вообще что-то можно оптимизировать. Алгоритм известен 100 лет и туп как дрова. код в студию :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2007, 00:24 |
|
||
|
еще одна задача по прогаммированию
|
|||
|---|---|---|---|
|
#18+
ИзопропилАлгоритм - слишком громкое слово Упражнение на знание системы команд. Для Эльбруса - одна команда - ПЧЕ к сожаления с Эльбрусом не знаком, но я не занал что существует стандартное решение данной задачи.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2007, 00:28 |
|
||
|
еще одна задача по прогаммированию
|
|||
|---|---|---|---|
|
#18+
массив из 256 элементов, содержащтй к-во единиц в байте, используемом как индекс массива - как самое быстрое устроит? Оптимизированный по памяти - в каких попугаях измерять будем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2007, 00:43 |
|
||
|
еще одна задача по прогаммированию
|
|||
|---|---|---|---|
|
#18+
ИзопропилАлгоритм - слишком громкое слово Упражнение на знание системы команд. Для Эльбруса - одна команда - ПЧЕ фигасе. какие люди ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2007, 00:48 |
|
||
|
еще одна задача по прогаммированию
|
|||
|---|---|---|---|
|
#18+
Можно смело писать вот так (особенно, когда у нас двухбатовые и более числа). Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2007, 00:52 |
|
||
|
еще одна задача по прогаммированию
|
|||
|---|---|---|---|
|
#18+
:(Можно смело писать вот так (особенно, когда у нас двухбатовые и более числа). Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. вместо BITS [i] мог бы написать (1<<i) и убрать массив BITS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2007, 11:16 |
|
||
|
еще одна задача по прогаммированию
|
|||
|---|---|---|---|
|
#18+
ИзопропилОптимизированный по памяти - в каких попугаях измерять будем? на сколько я помню критерием выступало количество переменных и их размерность - чем больше количество используемых для вычисления переменных тем менее эфективен код по памяти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2007, 11:24 |
|
||
|
еще одна задача по прогаммированию
|
|||
|---|---|---|---|
|
#18+
0bsid вместо BITS мог бы написать (1<<i) и убрать массив BITS оптимизирующему компилятору - по барабану, он цикл развернёт, а константы -вместо выборки из массива - будет сам сдвигом в регистре формировать. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2007, 12:01 |
|
||
|
еще одна задача по прогаммированию
|
|||
|---|---|---|---|
|
#18+
Изопропил 0bsid вместо BITS мог бы написать (1<<i) и убрать массив BITS оптимизирующему компилятору - по барабану, он цикл развернёт, а константы -вместо выборки из массива - будет сам сдвигом в регистре формировать. Вопрос остаётся - в каких попугаях будем измерять оптимизацию по памяти? Код: plaintext по идее должно быть shl dl, 1 вообще задача для 7-классника ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2007, 12:10 |
|
||
|
|

start [/forum/topic.php?fid=16&tid=1345591]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
183ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
77ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 547ms |

| 0 / 0 |
