PDA

View Full Version : فاکتوریل و تشخیص اعداد اول



sara_sws1
یک شنبه 01 آذر 1388, 12:20 عصر
با سلام سورس برنامه فاکتوریل برای یک عدد ثابت میخوام . و اینکه بفهمه یک عدد اول است یا نه ؟
:لبخندساده:ممنون

mortezamsp
سه شنبه 03 آذر 1388, 10:30 صبح
من اسمبلي يادم رفته يعني وقفه هاش يادم رفته

فاكتوريل كه سادست، بايد تو يه لوپ اعداد رو در ax ضرب كني


1: get number

move cx,ax //number -> cx
mov ax,1

factloop:
mull cx
loop factloop


و اما اعداد اول ، فكركنم اگر cbw ميكرديم،باقيمانده تقسيم ميرفت تو dl اگه اين درست باشه:


1:get number //number -> al
cbw //conver word byte
mov bx,ax

mov cx,3
compare:
div cx
cmp dl,0
je notprime
add cx,2
cmp cx,bx
jae isprime
jmp compare

not prime:
//print :not prime
jmp exit

isprime:
//print is prime

exit:
//return to os