![]() |
|
|
![]()
|
|
| Darksquall |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 22.1.2004 Где: Москва Репутация: нет Всего: 4 |
Как отнять 1 от переменной,не используя ни + ни -ни = ни отрицательные числа ,есть только inc,loop и обнуление переменной.
Я так понимаю цикл от 1 до значения переменнной на единицу меньше самой переменной. но учитывая что нет минуса,то .... :-( P.S. Кошмар |
|||
|
||||
| oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: нет Всего: 34 |
ну если есть inc значит есть и dec
dec eax к примеру -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
если переменная 16-битная (к примеру), то можно попробовать 65535 раз прибавить 1
а вообще, если бы мне кто-то рассказал, как точно работает loop, можно было бы еще подумать (а то этого ассемблера я не знаю) -------------------- qqq |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 5 Всего: 99 |
В ecx число, от которого надо отнять 1, а в eax результат
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| Darksquall |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 22.1.2004 Где: Москва Репутация: нет Всего: 4 |
Ребят вы не так поняли :-),это не асм.А задачка,считается что в языке всего 3 команды inc(x) ,zero(x) и loop(x) при чем если в цикле меняется х то количество оборотов цикла не изменится.Во как.Мучаюсь и никак.Есть процедура нахождения разницы
все что в {} это внутренность цикла. function raznica(v1,v2) loop(v2) {dec(v1)} результат сохраняется в v1 но нет самого Dec. :-( |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 5 Всего: 99 |
v1 - число для декрементации
v2 - результат
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| p0s0l |
|
||||||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: нет Всего: 112 |
В таком случае (на асме) проще было бы так, без цикла:
Правда, если декрементировать 0, то ничего не продекрементируется... ЗЫ: если loop(x) не обнуляет x, то assign будет таким: function assign(v2, v1) { zero(v2); loop(v1) { inc(v2) } } Это сообщение отредактировал(а) p0s0l - 1.4.2004, 20:03 -------------------- С уважением, г-н Посол. |
||||||
|
|||||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 5 Всего: 99 |
Даааа... Видимо мне очень захотелось inc сделать -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| p0s0l |
|
||||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: нет Всего: 112 |
Не обратил внимания на
Тогда можно проще (с учетом что loop(x) не обнуляет x):
Чем-то даже походит на пост cardinal Что еще можно тут сбацать? Синус поди кто-нить сделает? -------------------- С уважением, г-н Посол. |
||||
|
|||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 1 Всего: 317 |
Было бы инвертирование, тогда запросто:
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| cardinal |
|
||||||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 5 Всего: 99 |
Да я этого тоже не видел
Да я тебе просто идею хотел подкинуть А так для отмазки loop'ы бывают разные и если бы число в этих менялось, то моя фишка кавадрат бы не высчитывала. Объясняю ход моих мыслей:
Это был ход моих мыслей... -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
||||||
|
|||||||
| Darksquall |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 22.1.2004 Где: Москва Репутация: нет Всего: 4 |
Огромное спасибище :-),смотрю и не понимаю как до меня не дошло. Вообще есть еще одна проблема теперь нужно raznicey и Decom разделить одно число на другое,при наличии if я и сам могу,вот: funccion divs (v1,v2) zero(v4) loop (v1) {raznica(v1,v2) if v1>=0 then inc(v4) } а вот без if чето не получается,там же как,деление это вычитание из делимого делителя n раз, и n и есть то что получилось |
||||
|
|||||
| Arush |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 10.11.2003 Репутация: нет Всего: 1 |
Так какая задача-то стоит?
Может там и деление не требуется ? |
|||
|
||||
| Arush |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 20 Регистрация: 10.11.2003 Репутация: нет Всего: 1 |
И кстати, сколько раз выполнится loop(х) если х отрицательное?
И есть ли вообще отрицательные числа? |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 5 Всего: 99 |
Попробуй так:
v1 - делимое v2 - делитель v3 - результат
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: нет Всего: 538 |
числа считаются целыми и положительными
x - начальное значение y - результат y := 0; // можно использовать y * 0.(9) округленное вниз для уменьшения количества итераций while ( (y+1) mod x ) <> 0 do inc(y); -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 5 Всего: 99 |
mod то напиши
а так я тот же принцип описал. -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| Darksquall |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 22.1.2004 Где: Москва Репутация: нет Всего: 4 |
О то что надо.Big big big thanks :-))))
|
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |