Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Посчитать сумму ряда (n!)/5 при n=5 на assemblere

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

imonah



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Есть задачка: посчитать сумму ряда (n!)/5 при n=5.  
(n!) - n-факториал
 
Т.е. 1/5+(1*2)/5+(1*2*3)/5+(1*2*3*4)/5+(1*2*3*4*5)/5 = ?
 
Задачка тривиальная, но вся трудность в том, что написать ее надо на ассемблере. Если есть знатоки данного редкого в наши времена языка - помогите плиз.

----------
Не относитесь к жизни слишком серьезно, вам все равно не уйти из нее живым :)





больше править не буду, а буду сразу закрывать, ибо читаем правила.

Всего записей: 1376 | Зарегистр. 07-02-2003 | Отправлено: 08:56 20-01-2006 | Исправлено: imonah, 09:30 20-01-2006
wInuX

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
На каком ассемблере? Ассемблеры разные бывают. Под DOS (16 - bit) или под Windows (32 - bit) ?
Считать в целых числах или в вещественных?

Всего записей: 155 | Зарегистр. 19-05-2005 | Отправлено: 09:57 20-01-2006
imonah



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
wInuX
1. Все равно. Компилить ее не будут, нужен только текст.
2. Лучше в вещественных наверно. В целых вряд ли получится

----------
Не относитесь к жизни слишком серьезно, вам все равно не уйти из нее живым :)

Всего записей: 1376 | Зарегистр. 07-02-2003 | Отправлено: 12:34 20-01-2006
wInuX

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
imonah

Код:
 
include 'win32ax.inc'
 
.code
start:  mov    ecx ,5
     
gloop:    push    ecx
    call     f
    add    [result], eax
    loop    gloop
 
    fild    dword [result]
    fidiv     dword [five]
    fstp    dword [result]
 
    invoke     sprintf, buffer, "%f", result
    invoke    MessageBox, HWND_DESKTOP, buffer, "Title",   MB_OK
    invoke    ExitProcess, 0
 
f:    mov    ecx, [esp + 4]
    push    ecx
    xor     edx, edx
    xor     eax, eax
    inc     eax
floop:    mul     ecx
    loop     floop
    pop    ecx
    retn     4
.end start
 
.data
buffer     db 0x100 dup ?
five     dd 5
result     dd 0
 

Всего записей: 155 | Зарегистр. 19-05-2005 | Отправлено: 13:59 20-01-2006 | Исправлено: wInuX, 14:03 20-01-2006
imonah



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
wInuX
Большое спасибо

----------
Не относитесь к жизни слишком серьезно, вам все равно не уйти из нее живым :)

Всего записей: 1376 | Зарегистр. 07-02-2003 | Отправлено: 14:44 20-01-2006
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Посчитать сумму ряда (n!)/5 при n=5 на assemblere


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru