Действия над натуральными числами(ассемблер)

Тема в разделе "Другие задачи", создана пользователем Akimich, 16 июл 2010.

  1. Akimich

    Akimich Гость

    Дано натуральное число n. Вычислить: (1-1/2^n)(1-1/3^n)(1-1/4^n)…(1-1/n^n).Компилятор Tasm
     
  2. Akimich

    Akimich Гость

    Для начала решил заменить возведение в степень на произведение n, (1-1/2n)(1-1/3n)(1-1/4n).(1-1/nn) и написать в vs с++
    Код (C++):
    short n = 5;
    __asm
    {
    mov cx,n
    mov dx,1
    lp1:
    mov ax,cx    
    imul n   
    mov bx,ax    
    mov ax,1     
    cwd
    idiv bx
    mov bx,1
    sub bx,ax    
    imul dx  
    mov dx,ax    
    loop lp1
    mov n,dx
    }
    cout<<n;
    getch();
    Проверьте, пожалуйста, сам алгоритм, а так же возникает ошибка при делении (деление на ноль)
     
Загрузка...

Поделиться этой страницей