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

Сообщений: 2100

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

Дискоед


Просмотр профиля
: Февраль 03, 2011, 06:57:10 �

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

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)
Последнее редактирование: Февраль 03, 2011, 11:37:19 от Патефон Записан

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

X=[M/N]
Записан
iPhonograph
Гений-Говорун
*
Offline Offline

Сообщений: 2100

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

Дискоед


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

проверь при M=1, N=2
Записан

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

Так это будет бесконечный алгоритм
Записан
iPhonograph
Гений-Говорун
*
Offline Offline

Сообщений: 2100

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

Дискоед


Просмотр профиля
Ответ #4 : Февраль 03, 2011, 08:08:57 �

Значит, ты его не понял
Записан

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

Так может, "пока М больше нуля"?

Твой алгоритм, М=1 N=2
М - нечетное
М=М-N=1-2=-1
М - нечетное
М=М-N=-1-2=-3
и т.д.
Записан
iPhonograph
Гений-Говорун
*
Offline Offline

Сообщений: 2100

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

Дискоед


Просмотр профиля
Ответ #6 : Февраль 03, 2011, 08:26:57 �

ты подгоняешь алгоритм под свою функцию
а надо найти функцию, которую вычисляет этот алгоритм
Записан

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

Подожди.
Если М=1 N=2 , что будет на выходе?
У меня по твоему алгоритму получается Х=бесконечность
Записан
Ленка Фоменка
Сплошной мозг
***
Offline Offline

Сообщений: 3459

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



Просмотр профиля
Ответ #8 : Февраль 03, 2011, 08:48:09 �

Так может, "пока М больше нуля"?

Твой алгоритм, М=1 N=2
М - нечетное
М=М-N=1-2=-1
М - нечетное
М=М-N=-1-2=-3
и т.д.
Умник, а это то действие всегда выполняется:
A=A+A
M=[M/2]
Записан

Всё временно: Любовь, искусство, планета Земля, Вы, Я... Особенно Я!
Um_nik
Гость
Ответ #9 : Февраль 03, 2011, 08:49:39 �

Почему?
Как я понял, оно выплняется только тогда, когда М - не нечетное, т.е. четное.
Записан
iPhonograph
Гений-Говорун
*
Offline Offline

Сообщений: 2100

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

Дискоед


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

Почему?
Как я понял, оно выплняется только тогда, когда М - не нечетное, т.е. четное.
неправильно понял


Цитировать
Если М=1 N=2 , что будет на выходе?
на этом наборе значений функция не определена
а твоя определена
Записан

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

Сообщений: 3459

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



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

Почему?
Как я понял, оно выплняется только тогда, когда М - не нечетное, т.е. четное.
нет, если М-нечетное, то выполняется
M=M-N
X=X+A

Это выполняется в любом случае:
A=A+A
M=[M/2]

 Про то, что М долно быть четно нет не слова.
и условия тоже нет
Записан

Всё временно: Любовь, искусство, планета Земля, Вы, Я... Особенно Я!
seamew
Гость
Ответ #12 : Февраль 03, 2011, 10:06:22 �

то есть, если М - четно, то ничего не выполняется?

как-то у меня была задача по информатике:

Заданы функции:
 
 


Найти оптимальное значение параметра a2=a*  по критерию
 


d – абсцисса точки пересечения графиков функций   и  .
 
сигма1=сигма2=0.5
а1=2
с=1
е=4

тут решение находится подбором...
ну то есть сначала "метод половинного деления", потом "метод золотого сечения" и т.д.
мне чем-то напомнило... может, тут тоже функция с двумя неизвестными...
Записан
iPhonograph
Гений-Говорун
*
Offline Offline

Сообщений: 2100

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

Дискоед


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

Ладно, не буду мучить, ответ на первое задание:
Показать скрытый текст

Первый пост обновлён, добавлена вторая программа
Записан

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

Да боже ж ты мой, объясните мне хоть кто-нибудь наконец, что такое mod Huh?
Записан
Страниц: [1] 2 3 4
  Печать  
 
Перейти в: