2 + 2*4 + 2*4*6 + 2*4*6*8 + … +2*4*6*8*…*2n.
Rezolvare:
int f(int){
_asm{
mov esi, [ebp+8]
shl esi, 1 // folosim siftare pentru inmultirea cu 2
// deoarece este mai rapida decat instructiunea "mul"
mov eax, 1 // folosim eax pentru produsele din adunare
mov ecx, 2 // contor
mov ebx, 0 // suma propriu-zisa
loop_1:
cmp ecx, esi
jg final_loop_1
mul ecx
add ebx, eax
add ecx, 2
jmp loop_1
final_loop_1:
mov eax, ebx
}
}
No comments:
Post a Comment