|
|
|
Несколько тривиальных задач из школьного курса
|
|||
|---|---|---|---|
|
#18+
Привет форумчани! Волей случая пришлось мне решить несколько простых алгоритмических задач, мне это было интересно с целью «умственной» гимнастики, так сказать «пошевелить» извилины, предлагаю желающим последовать моему примеру и предложить свои варианты решений, было бы интересно увидеть новые варианты или получить замечания по текущим. Для реализации алгоритмов я выбрал C# и T-SQL, хотя каждый волен писать на том, что ему больше подходит. Задача Объявлены две числовые переменные A и B. Необходимо сделать так, чтобы без объявления других переменных в результате работы алгоритма переменная A приняла минимальное значение из A и B, а переменная B – максимальное. Применять можно только операции присваивания, арифметические операции и любые стандартные математические функции (использование операторов запрещено). Решение Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Задача За один цикл вычислить значение функции F(n)=1!*2!*…*n! , где n! – факториал (1*2*…*n) Решение Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Задача Определить число k, которое отсутствует в неупорядоченном массиве чисел (0, 1,...k-1,k+1,...n) за один цикл Решение Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Задача Задана таблица T ( ID Int, String VarChar(MAX) ) и произвольную строку @StrSearch. Необходимо вывести следующую информацию в виде: [ID] [String] [Quantity] [Percent], где [ID] [String] - поля таблицы T, в которых присутствуют совпадения со строкой @StrSearch [Quantity] количество встречающихся совпадений по каждой записи для строки @StrSearch [Percent] процент количества совпадений для каждой записи от общего количества совпадений по всей таблице Решение Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2014, 12:20 |
|
||
|
Несколько тривиальных задач из школьного курса
|
|||
|---|---|---|---|
|
#18+
во второй задаче (в решении) итоговая сложность явно больше одного цикла. там надо примерно так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. третья тоже неверно (если переставить 6 и 8 местами, остается нулл). Там всё просто - из n*(n-1)/2 вычитаем сумму элементов массива, полученную в цикле. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2014, 13:28 |
|
||
|
Несколько тривиальных задач из школьного курса
|
|||
|---|---|---|---|
|
#18+
BlackStoneОбъявлены две числовые переменные A и B. Необходимо сделать так, чтобы без объявления других переменных в результате работы алгоритма переменная A приняла минимальное значение из A и B, а переменная B – максимальное. Применять можно только операции присваивания, арифметические операции и любые стандартные математические функции (использование операторов запрещено). Код: vbnet 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2014, 14:07 |
|
||
|
Несколько тривиальных задач из школьного курса
|
|||
|---|---|---|---|
|
#18+
Ну и автор нафлудил букв. Ладно. Вопрос. Объявлены две числовые переменные A и B. Необходимо сделать так, чтобы без объявления других переменных в результате работы алгоритма переменная A приняла минимальное значение из A и B, а переменная B – максимальное. Применять можно только операции присваивания, арифметические операции и любые стандартные математические функции ( использование операторов запрещено ). Насколько я понял речь идёт о своей реализации max(a,b), min(a,b). Из курса булевой алгебры я помню что AND/OR аналогичны max/min в пространстве одномерной булевой переменной. Можно на этом сыграть. Но вопросы по тексту. Почему нельзя использовать "операторы"? Плюс и Минут - это операторы? А коньюнкция дизъюнкция? А квадратный корень - операция? Или функция? А ветвления? Основные строительные блоки алгоритмов? if-else. А тернарные операции? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2014, 14:57 |
|
||
|
Несколько тривиальных задач из школьного курса
|
|||
|---|---|---|---|
|
#18+
AkinaBlackStoneОбъявлены две числовые переменные A и B. Необходимо сделать так, чтобы без объявления других переменных в результате работы алгоритма переменная A приняла минимальное значение из A и B, а переменная B – максимальное. Применять можно только операции присваивания, арифметические операции и любые стандартные математические функции (использование операторов запрещено). Код: vbnet 1. 2. 3. для (5,3) не работает - В станет равно 6. вот так вроде норм.: Код: c# 1. 2. 3. 4. Abs - абсолютная величина, если чо - заменяем на SQRT((A-2*B)^2) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2014, 15:24 |
|
||
|
Несколько тривиальных задач из школьного курса
|
|||
|---|---|---|---|
|
#18+
Большой спасибо Яростному Мечу за толковые пояснения к решению предложенных задач, хотелось бы отметить, что по условию второй задачи не допускалось использование второго цыкла, а использование рекурсии не оговаривалось, хотя соглашусь, что вполне можно было обойтись без нее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2014, 17:53 |
|
||
|
Несколько тривиальных задач из школьного курса
|
|||
|---|---|---|---|
|
#18+
В продолжении темы предлагаю очередную задачу на комбинаторику, условия задачи, представить все возможные комбинации получения целого положительного числа N посредством сложения чисел этого же ряда. Пример: Получить все возможные комбинации числа 8 Решение: 7+1 6+2 6+1+1 5+3 5+2+1 5+1+1+1 4+4 4+3+1 4+2+1+1 4+1+1+1+1 3+3+2 3+3+1+1 3+2+1+1+1 3+1+1+1+1+1 2+2+2+2 2+2+2+1+1 2+2+1+1+1+1 2+1+1+1+1+1+1 1+1+1+1+1+1+1+1 Решение: Код: c# 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2014, 18:19 |
|
||
|
Несколько тривиальных задач из школьного курса
|
|||
|---|---|---|---|
|
#18+
BlackStone, а можешь решить эту задачу без использования List<List<int>> ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2014, 18:45 |
|
||
|
|

start [/forum/topic.php?fid=16&tid=1341172]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
163ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
2ms |
| others: | 237ms |
| total: | 476ms |

| 0 / 0 |
