Анимация
JavaScript


Главная  Библионтека 

0 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 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 [ 188 ] 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225

было предоставлено О Коши (А. Cauchy) [Bull. Societe Philomathique de Paris (3) 3 (1816), 133-135], который дал этому ряду имя Фарея О других интересных свойствах данных рядов говорится в работе G. Н Hardy, Е. М Wright, Ал Introduction to the Theory of Numbers, Chapter 3.

20. * ЗАДАЧА 0 СИГНАЛАХ СВЕТОФОРА

BSIZE

1(4:4)

Размер байта.

2BSIZE EQU

2(4:4)

Двойной размер байта.

DELAY

Если в гА содержится п.

DECA

эта подпрограмма

DECA

ожидает ровно max(n, 7)и

времени, не считая

времени на переход к подпрограмме

FLASH

Это подпрограмма мигания

ENT2

соответствующего сигнала СТОЙТЕ.

-49991=

DELAY

DECX

Выключение сигнала.

=49996=

DELAY

INCX

СТОЙТЕ.

DEC2

Повторить восемь раз.

=49993=

Вернуться к началу цикла.

=399992=

Установить желтый через 2и после выхода.

DELAY

WAIT

JNOV

Зеленый свет на Дель-Мар до момента переключения

TRIP

INCX

BSIZE

На Дель-Мар сигнал СТОЙТЕ.

ENTl

2BSIZE

FLASH

Мигание сигнала на Дель-Мар.

BAMBER

Желтый свет на проспекте.

=799995=

DELAY

Ожидать 8 с.

AGREEN

Зеленый свет на авеню.

=799996=

DELAY

Ожидать 8 с

INCX

На Беркли сигнал СТОЙТЕ.

ENTl

FLASH

Мигание сигнала на Беркли.

AAMBER

Желтый свет на авеню

Отменить лишнее переключение.

=499994-

DELAY

Ожидать 5 с.

BEGIN

BGREEN

Зеленый свет на проспекте.

=1799994=

DELAY

Ожидать минимум

WAIT

18 с.



AGREEN ALF САВА Зеленый свет для авеню.

AAMBER ALF СВВВ Желтый свет для авеню.

BGREEN ALF АСАВ Зеленый свет на проспекте.

BAMBER ALF ВСВВ Желтый свет на проспекте.

END BEGIN I

22. . :

ЗАДАЧА

ИОСИФА

ORIG

ENTl

Установить в каждой ячейке

X+N-1

номер следующего человека

X-1,1

в последовательности.

DECl

ENTA

(Сейчас гП = 0.)

ENT2

(Предполагаем, что М > 2.)

-2){N-

Отсчет

DEC2

-2)(N-

по кругу.

-2)iN-

гП = счастливчик.

г12 = обреченный.

CHAR

г13 = следующий.

X,2(4:5)

Сохранить номер казненного.

INCA

Взять человека из круга.

ENTl

CMPA

CHAR

Остался один человек;

X.1(4:5)

его тоже казнят.

X(18)

Напечатать ответ.

Последним остается человек в позиции 15. Общее время выполнения программы без печати результатов составляет (4(JV - l)(f + 75) + 16)u Программу можно несколько улучшить, например воспользоваться предложением Д. Инголза (D. Ingalls) и взять состоящие из трех слов пакеты кода "DEC2 1; J2P NEXT; JMP OUT", где команда OUT модифицирует поле NEXT таким образом, что удаляет пакет Асимптотически более быстрый метод приведен в упр. 5.1.1-5.

РАЗДЕЛ 1.3.3

1. (1 2 4)(3 6 5).

2. о <+ с, с <+ /; 6 <+ d. Совершенно очевидно, как это обобщить на случай произвольной перестановки.

abed Jb f с

4. (adcfe).

5. 12 (см упр 20).

а е)



6. Общее время увеличится на 4и для каждого пустого ввода, перед которым идет непустое слово "(", и еще на 5й для каждого пустого слова, перед которым идет непустое слово-имя Начальные пробелы и пробелы между циклами не оказывают влияния на время вьшолнения программе Положение пробелов никак не влияет на время выполнения программы В

7. X = 2, У = 29, М = 5, Л = 7, {/ = 3, V = 1 Общее время выполнения согласно (18) равно 2161it

8. Да В этом случае нужно использовать обратную перестановку, чтобы х, переходило в Xj тогда и только тогда, когда T[j] = г (Тогда окончательный вид циклической формы будет построен справа налево с помощью таблицы Г )

9. Нет Например, если вводом является (6), то программа А в качестве вывода даст "(ADG) (СЕВ)", а программа В - " (СЕВ) (DGA)" Эти ответы эквивалентны, но не идентичны, так как циклическая запись не единственна В программе А первым элементом цикла выбирается крайний слева, а в программе В - последний отличный от других при движении справа налево

10. (1) По закону Кирхгофа получаем A = l+C-D, B = A + J+P-l,C = B-{P-L), E = D-L, G = E,Q = Z,W = S (2) Объяснение В = число слов ввода = 16Х - 1, С = число непустых слов = Y, D = C - М, E = D - М, F = число сравнений при поиске по таблице имен, Н = N, К = М, Q = N, R = U, S = R - V,T = N - V, так как каждое из других имен помечено (3) В итоге получаем (4F + 16У + 80Л 4- 21Л - 19М + 9U- 16V)u Это несколько лучщий результат, чем дает программа А, поскольку, безусловно, F меньше, чем 16NX Общее время выполнения в данном случае равно 983и, так как F = 74

11. "Отразите" ее Например, обратной к перестановке {acf){bd) является {db){fca)

12. (а) Значение, которое находится в ячейке L + тп - 1, во время транспонирования остается на месте, поэтому ее можно исключить из рассмотрения А в остальном, если х - n{i - \) + {] - \) < тп - 1, значение из ячейки L + ж должно перейти в ячейку L + тх mod N = L + {mn{i - 1) + m{j - 1)) mod N = L + m{j - 1) + (г - 1), так как тп = 1 (по модулю Л) и о < m{j - 1) + (t - 1) < Л (b) Если в каждой ячейке памяти один бит свободен (например, бит знака), элементы можно "помечать" по мере их перемещения с помощью алгоритма, подобного алгоритму I [См М F Berman, JACM 5 (1958), 383-384 ] Если для битов пометки нет свободного места, то их можно сохранять во вспомогательной таблице или использовать список элементов, содержащихся во всех не единичных циклах Для каждого делителя d числа Л можно по отдельности транспонировать те элементы, которые кратны d, так как т взаимно просто с Л Длина цикла, содержащего х, где gcd{x,N) = d, - это наименьшее целое г > О, такое, что тп = 1 (по модулю N/d) Для каждого d нужно найти (p{N/d)/r элементов-представителей, по одному из каждого цикла Это можно сделать с помощью ряда теоретико-множественных методов, но они недостаточно просты для того, чтобы мы могли ими удовлетвориться Эффективный, но довольно сложный алгоритм можно получить, применяя теорию чисел, а также используя небольшую таблицу битов пометок [См N Brenner, САСМ 16 (1973), 692-694 ] И наконец, существует метод, который является аналогом алгоритма J Он работает медленнее, но зато не требует дополнительной памяти и любые нужные перестановки выполняет гп situ* [См Р F Wmdley, Comp J 2 (1959), 47-48, D E Knuth, Proc IFIP Congress (1971), 1, 19-27, E G Gate, D W Twigg, ACM Trans Math Software 3 (1977), 104-110, F E Fich, J I Munro, P V Poblete, SICOMP 24 (1995), 266-278]

13. Покажите no индукции, что в начале шага J2 X[i] = +j тогда и только тогда, когда J > ти J переходит в г в результате перестановки тг X[i] = -j тогда и только тогда, когда

* На месте" (лат ) - Прим перев



0 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 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 [ 188 ] 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225