读书人

分解质因数。错哪了

发布时间: 2012-06-19 14:45:20 作者: rapoo

分解质因数。。哪里错了?
int i
int j//用于计算个数
int sum//用于求和
int m
m = 20//分解20

for i=1 to m/2
do while mod(m,i) = 0
j++
if j =1 then
sle_1.text =string(m)+"="+"1"+"*"+string(i)
else
sle_1.text += '*'+string(i)

end if
m=m/i
loop
next
//分解质因数。。哪里错了?程序进入死循环了。。

[解决办法]
int i
int j//用于计算个数
int sum//用于求和
int m
m = 20//分解20

for i=2 to m/2
do while mod(m,i) = 0
j++
if j =1 then
sle_1.text =string(m)+"="+"1"+"*"+string(i)
else
sle_1.text += '*'+string(i)

end if
m=m/i
loop
next

sle_1.text += '*'+string(m)

注:
1.for圈需要2始,是造成死圈的原因,不然M/1永是M.
2.需要在最后加上M的值,因最后一不入圈

读书人网 >PB

热点推荐