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

  • Автор темы Akimich
  • Дата начала
A

Akimich

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

Akimich

#2
Для начала решил заменить возведение в степень на произведение 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();
Проверьте, пожалуйста, сам алгоритм, а так же возникает ошибка при делении (деление на ноль)