| imho.ws |
![]() |
|
|
|||||||
|
Сообщения:
Перейти к новому /
Последнее
|
Опции темы |
|
|
# 6 |
|
KpTeaM
Регистрация: 31.10.2002
Адрес: Russia
Пол: Male
Сообщения: 3 261
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Примерно так:
Код:
count dd 0
text db "WELCOME IMHO",0
begin:
cld
mov ecx, end-begin
mov edi, offset end
mov esi, offset begin
rep movsb
inc [count]
invoke SendDlgItemMessage, hwnddlg, ID_LISTBOX, LB_ADDSTRING, 0, offset text
cmp eax, 1000000
jne end
ret
end:
dup db 1000000*(end-begin) (?)
__________________
Над струнами вен моих Лезвия осени, Их сталь леденящая В просинь рук просится... ©Темнозорь |
|
|
|
|
# 8 |
|
KpTeaM
Регистрация: 31.10.2002
Адрес: Russia
Пол: Male
Сообщения: 3 261
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
catcanon
1) копируется тело программы сразу после себя; 2) увеличиваем счетчик; 3) печать; 4) проверка на миллионную запись; 5) выполнение скопированного кода. Типа цикл развернулся.
__________________
Над струнами вен моих Лезвия осени, Их сталь леденящая В просинь рук просится... ©Темнозорь |
|
|
|
|
# 12 |
|
Junior Member
Регистрация: 28.01.2005
Адрес: TA - Israel
Сообщения: 106
![]() ![]() ![]() |
ест есчо один способ. я его уже нашел, но предлагаю вам подумать. подсказка-прога займет ~20 строчек
етот вопрос у меня был на приеме на роботу. меня не взали . но все вопросы были на етом построени. фирма в израиле
|
|
|
|
|
# 13 |
|
KpTeaM
Регистрация: 31.10.2002
Адрес: Russia
Пол: Male
Сообщения: 3 261
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
catcanon
Это не цикл :P Если убрать ограничение на 1000000, то ни одного условного/безусловного перехода не будет, можно и проверку без сравнения сделать, но только мастера дзена постигли данное шаманство, я к сожалению пока в астрал выхода не имею :( >прога займет ~20 строчек строчек чего? lol
__________________
Над струнами вен моих Лезвия осени, Их сталь леденящая В просинь рук просится... ©Темнозорь |
|
|
|
|
# 15 |
|
::VIP::
Звезда первого сезона Молчун-2004 Регистрация: 24.08.2002
Сообщения: 1 575
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
catcanon
Получается: как распечатать 1000000 раз "привет имхо" не используя какой-то вид цикла, но "1000000 раз" не является условием, или, другими словами, печатайте сколько влезет, хоть 1 раз, но без циклов! Ты можешь четко сформулировать вопрос? З.Ы. Чуть не забыл: вся эта байда должна обязательно занимать 20 строчек неизвестно чего и неизвестно каких...
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы! Последний раз редактировалось Ghost; 11.02.2005 в 18:14. Причина: склероZzz... |
|
|
|
|
# 17 |
|
::VIP::
Звезда первого сезона Молчун-2004 Регистрация: 24.08.2002
Сообщения: 1 575
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
catcanon
Эээ, батенька... Так что Вам нужно распечатать? 1.000.000 или "привет имхо" такое количество раз? Имхо, алгоритм с повторяющимися действиями можно реализовать либо рекурсией, либо циклом (базовых алгоритмических конструкций, видишь ли, всего три: линейная, разветвляющаяся и циклическая). З.Ы. Мляяя... 20 строчек кода какого? На асме, паскале, прологе, в машинных кодах? Или, быть может, в заклинаниях?
__________________
Действовать надо тупо и это лучшее доказательство нашей чистоты и силы! Последний раз редактировалось Ghost; 11.02.2005 в 18:25. Причина: склероZzz... |
|
|
|
|
# 20 |
|
Junior Member
Регистрация: 28.01.2005
Адрес: TA - Israel
Сообщения: 106
![]() ![]() ![]() |
Очень быстро: 2^20 = 1048576
Поправка, если учитывать разложение 1000000 = 11110100001001000000 то получится следующий код из ~20 строк Delphi: N>var N> s: string; N>begin N> s := 'Welcome'#10; N> s := s + s; N> s := s + s; N> s := s + s; N> s := s + s; N> s := s + s; N> s := s + s; write(s); N> s := s + s; N> s := s + s; N> s := s + s; write(s); N> s := s + s; N> s := s + s; N> s := s + s; N> s := s + s; N> s := s + s; write(s); N> s := s + s; N> s := s + s; write(s); N> s := s + s; write(s); N> s := s + s; write(s); N> s := s + s; write(s); N>end. N> В итоге ровно 1000000 строк Welcome все просто гениално. если человек не понимает то лучше сказат мне ето не нравитса. |
|
|