|
|
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
Добрый день! Предлагаю сообществу подумать над задачкой. Типичный прогерИсходные данные: массив с числами типа Integer. Вам нужно написать функцию, которая на входе получит исходный массив, а на выходе вернет массив, в котором каждое значение получено путем произведения всех значений исходного массива с отличным от текущего индексом. Для ясности приведем пример. Допустим, исходный массив имеет вид: [1, 7, 3, 4]; Тогда функция должна вернуть: [84, 12, 28, 21]; Расчет значений выглядит так: [7*3*4, 1*3*4, 1*7*4, 1*7*3]; Дополнительные условия: 1. Нельзя использовать деление. 2. Функция должна быть с наименьшими затратами памяти и времени выполнения. Скажу честно что задачка не моя. Стырено из соц-сетей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 01:01 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
мы ее уже решили. 18335732 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 02:13 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
а Марк сопротивлялся когда я просил у него идеи в том обсуждении :p ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 03:39 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
Не помню суть спора. Но кажется моё пожелание заключалось в том что формулировки надо писать на русском языке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 13:03 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
Не смотрел решения, рискну предположить, что нужно сформировать два вспомогательных массива, в одном будет произведение всех элементов 0.. i -1, в другом - i+1..N-1. Результат получается путем скалярного их перемножения. Вспомогательные массивы заполняются, естественно, перемножением предыдущего элемента на текущий (второй - в обратном порядке). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 13:45 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
У меня была мысль умножать на 1/a[i] в хитром базисе. Как-бы в целых числах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 14:17 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
maytonумножать на 1/a[i] как получить 1/a[i] без деления? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 14:18 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
Это загадка великая есть. Не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 15:46 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
Марк, да нет. Вы говорили о том что толку в решении задач Скиены с точки зрения развития в IT сфере нет ) Никаких споров у нас с вами не было) Наконец вы оторвались от ваших китайцев(вы по-моему ими занимались) и вернулись к Скиене :D Соколинский Борис скалярного их перемножения что вы имеете ввиду ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 16:20 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
SashaMercuryМарк, да нет. Вы говорили о том что толку в решении задач Скиены с точки зрения развития в IT сфере нет ) Никаких споров у нас с вами не было) Наконец вы оторвались от ваших китайцев(вы по-моему ими занимались) и вернулись к Скиене :D Соколинский Борис скалярного их перемножения что вы имеете ввиду ? проще написать Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 16:39 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
SashaMercury, ох уж этот Майтон. Постит задачки из социальных сетей. Толи дело - академичные издания.... Мдя... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.12.2015, 16:51 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
Соколинский Борис проще написать скалярного произведения в вашем коде нет ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 01:47 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
SashaMercuryскалярного произведения в вашем коде нет ) Ну да, неправильный термин. Еще можно одним вспомогательным массивом обойтись. Код: pascal 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 08:31 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
Соколинский Борис, можно, всё верно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 09:56 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
Типичный прогер1. Нельзя использовать деление. 2. Функция должна быть с наименьшими затратами памяти и времени выполнения. протеворичивые условия. предлагаю использовать возведение в степень -1 и умножение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 12:00 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
Там по условию задан массив целых. Как возводить целое в степень -1 с сохранением условий задачи ХЗ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 12:44 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
maytonТам по условию задан массив целых. Как возводить целое в степень -1 с сохранением условий задачи ХЗ. в условии есть получить массив и вернуть массив. а что там в черном ящике - ограничено только пунктами 1 и 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 15:50 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
авторпредлагаю использовать возведение в степень -1 и умножение. Предлагаю вместо 'привет' говорить 'здравствуйте' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2015, 17:03 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
mayton, похоже, что можно решить эту задачу без дополнительной памяти ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2015, 14:07 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
Чтобы не отвлекаться на эмуляцию арифметического сдвига вправо (SAR) здесь для хранения целых чисел используется тип cardinal: Код: sql 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.12.2015, 14:57 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
mayton, А практический смысл!? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2015, 12:28 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
Улучшенная версия: Код: pascal 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. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2015, 23:23 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
Areostarmayton, А практический смысл!? Это очень хороший вопрос. По сабжу к каждому студенту который просит решить лабу я могу обращаться с таким-же встречным. Но я надеюсь что в нашем скромном форуме найдется место головоломкам без SR. Не так ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2015, 12:19 |
|
||
|
Вторничная новогодняя задачка
|
|||
|---|---|---|---|
|
#18+
mayton, Есть интересный вариант задачи с похожим решением: Длинные числа A и B заданы своими короткими множителями a[i], i=1..N и b[j], j=1..M. Множители никак не упорядочены и не обязательно просты. Известно, что B=A*х, где x - короткое. Найти x. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2015, 20:35 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39123716&tid=1340821]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
155ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 512ms |

| 0 / 0 |
