Страниц: 1 [2] 3 4
  Печать  
Автор Тема: Для кулхацкеров  (Прочитано 12580 раз)
0 Пользователей и 1 Гость смотрят эту тему.

Представьте, что Вы - хакер.
В Ваши руки попала вражеская секретная программа.
Вам нужно понять, что она делает.
Вы декодировали машинные инструкции и получили программу на алгоритмическом языке:

1. Алгоритм, вычисляющий X(M,N)
Вход: M, N
Выход: X

X=0
A=1
пока M не нуль, выполнять
   если M нечётно, то
      M=M-N
      X=X+A
   конец если
   A=A+A
   M=[M/2]
конец пока


Что этот кусок программы делает?
Что это за функция такая X(M,N) ?
Ответ дать простыми словами.




2. Алгоритм, вычисляющий Y(N)

Y=1
A=2*(N mod 2)
B=2*(1-A)
повторить [(N+1)/2] раз
   A=A+B
   B=B+8
   Y=Y*max(1,A)
конец повторить





3. Алгоритм, вычисляющий Z(N)

Определим последовательность A(1)..A(14) = 91, 85, 51, 38, 33, 29, 23, 19, 17, 13, 11, 14,  2,  1
Определим последовательность B(1)..B(14) = 17, 78, 19, 23, 29, 77, 95, 77,  1, 11, 13, 15, 15, 55
M=2
повторить N раз
   повторять
      K=0
      повторять
         K=K+1
      пока A(K) не будет делителем M
      M=B(K)*M/A(K)
   пока M не станет степенью двойки
конец повторить
Z=log
2(M)

Um_nik
Гость
Ответ #15 : Февраль 03, 2011, 10:53:40 �

Y=N! при четных N
Y=0 при нечетных N
Записан
Um_nik
Гость
Ответ #16 : Февраль 03, 2011, 10:54:26 �

Да боже ж ты мой, объясните мне хоть кто-нибудь наконец, что такое mod Huh?
a mod b - остаток от деления a на b

Эти пользователи сказали вам СПАСИБО :

seamew

За это сообщение 1 пользователь сказал спасибо!
Записан
iPhonograph
Гений-Говорун
*
Offline Offline

Сообщений: 2100

СПАСИБО
-вы поблагодарили: 561
-вас поблагодарили: 1315

Дискоед


Просмотр профиля
Ответ #17 : Февраль 03, 2011, 10:54:56 �

мод - это остаток от деления
M mod N может быть от 0 до N-1

Эти пользователи сказали вам СПАСИБО :

seamew

За это сообщение 1 пользователь сказал спасибо!
Записан

"Было бы величайшей ошибкой думать" (с) В.И.Ленин, Полн. cобр. cоч., т.34, стр.375
iPhonograph
Гений-Говорун
*
Offline Offline

Сообщений: 2100

СПАСИБО
-вы поблагодарили: 561
-вас поблагодарили: 1315

Дискоед


Просмотр профиля
Ответ #18 : Февраль 03, 2011, 10:55:33 �

Y=N! при четных N
Y=0 при нечетных N
неправильно
Записан

"Было бы величайшей ошибкой думать" (с) В.И.Ленин, Полн. cобр. cоч., т.34, стр.375
seamew
Гость
Ответ #19 : Февраль 03, 2011, 10:57:44 �

мод - это остаток от деления
M mod N может быть от 0 до N-1
а почему до N-1?
то есть
5 mod 2 = 1? я правильно поняла?
Записан
Um_nik
Гость
Ответ #20 : Февраль 03, 2011, 10:59:51 �

Y=N! при четных N
Y=0 при нечетных N
неправильно
Ну N принадлежит Z, N>-2
при N=-1 Y=1
при N=0 Y=1
при N=2k Y=N!, где k - целое число
при N=2k+1 Y=0, где k - целое число
Записан
Um_nik
Гость
Ответ #21 : Февраль 03, 2011, 11:00:34 �

а почему до N-1?
Потому что сотаток не может быть больше или равен делителю.
то есть
5 mod 2 = 1? я правильно поняла?
ага
Записан
iPhonograph
Гений-Говорун
*
Offline Offline

Сообщений: 2100

СПАСИБО
-вы поблагодарили: 561
-вас поблагодарили: 1315

Дискоед


Просмотр профиля
Ответ #22 : Февраль 03, 2011, 11:03:55 �

у тебя ошибка
ищи
Записан

"Было бы величайшей ошибкой думать" (с) В.И.Ленин, Полн. cобр. cоч., т.34, стр.375
Um_nik
Гость
Ответ #23 : Февраль 03, 2011, 11:07:08 �

А [5,5]=5? или 6?
Записан
seamew
Гость
Ответ #24 : Февраль 03, 2011, 11:09:11 �

Y=1                                                  
A=2*(N mod 2)        
B=2*(1-A)

    раз N нечетное, то получается A=2 B=-2                            

повторить [(N+1)/2] раз
   A=A+B
A=2-2 = 0
   B=B+8
B=6
   Y=Y*max(1,A)
конец повторить

повторить [(N+1)/2] раз
Записан
iPhonograph
Гений-Говорун
*
Offline Offline

Сообщений: 2100

СПАСИБО
-вы поблагодарили: 561
-вас поблагодарили: 1315

Дискоед


Просмотр профиля
Ответ #25 : Февраль 03, 2011, 11:12:13 �

А [5,5]=5? или 6?
5
Записан

"Было бы величайшей ошибкой думать" (с) В.И.Ленин, Полн. cобр. cоч., т.34, стр.375
VVV
Умник
****
Offline Offline

Сообщений: 662

СПАСИБО
-вы поблагодарили: 20
-вас поблагодарили: 55



Просмотр профиля Email
Ответ #26 : Февраль 03, 2011, 11:16:41 �

   Первый алгоритм не осуществляет деления нацело на нечетное число. Лишь в редких случаях. Чему равно 8 div 7 по этому алгоритму?
Записан

Правила и тактика игры в "ассоциации". //текст доступен после регистрации//  . Дополнительные методы, архив партий //текст доступен после регистрации// .
Um_nik
Гость
Ответ #27 : Февраль 03, 2011, 11:19:34 �

Аа, просто Y=N!
ну и при N=-1 Y=1
Записан
iPhonograph
Гений-Говорун
*
Offline Offline

Сообщений: 2100

СПАСИБО
-вы поблагодарили: 561
-вас поблагодарили: 1315

Дискоед


Просмотр профиля
Ответ #28 : Февраль 03, 2011, 11:32:21 �

   Первый алгоритм не осуществляет деления нацело на нечетное число. Лишь в редких случаях. Чему равно 8 div 7 по этому алгоритму?
"Деление нацело" - это когда числа делятся нацело
А то деление, которое обычное - это "деление с остатком"
Алгоритм не вычисляет div
для чисел 8 и 7 он и не должен ничего вычислять

Аа, просто Y=N!
ну и при N=-1 Y=1
ну наконец-то!


Смотрите третью задачку, она посложнее
Записан

"Было бы величайшей ошибкой думать" (с) В.И.Ленин, Полн. cобр. cоч., т.34, стр.375
seamew
Гость
Ответ #29 : Февраль 03, 2011, 11:36:12 �

Умник, объясни мне, я не поняла
Записан
Страниц: 1 [2] 3 4
  Печать  
 
Перейти в: