回 帖 发 新 帖 刷新版面

主题:分解质因数最简方式

CLS
INPUT n
PRINT n;
DO
h$ = LTRIM$(STR$(n))
k = 1: l = LEN(h$)
FOR i = 1 TO l
 c$ = MID$(h$, i, 1)
 k = k * VAL(c$)
NEXT i
n = k
PRINT n;
LOOP UNTIL n = 0
END

这一题大概意思是例如 98886,下一个数就是9*8*8*8*6,直到乘积为0为止,是原创,没有搜。


想学质因数大家可以参考百度知道上的程序,可是有点误差,我把网址和正确程序全发给大家,认真学习学习,希望对你们有帮助。


网址:http://zhidao.baidu.com/question/121792930.html


正确程序:

CLS
INPUT N
S=1
DO
  S=S+1
  IF N MOD S=0 THEN
    N=N\S
    S=S-1
    PRINT S+1;"*";  
  END IF
LOOP UNTIL N/(S+1)=1
PRINT S+1
END


回复列表 (共14个回复)

11 楼

???

12 楼

Cls
Input n
s = 1 
Do
  s = s + 1
  If n Mod s = 0 Then
    n = n / s
    s = s - 1
    Print s + 1; "*";
  End If
Loop Until n / (s + 1) = 0
Print s + 1
End
何必这样呢?看我的
Cls
Input n
s = 1
Do
  s = s + 1
  If n Mod s = 0 Then
    n = n / s
    Print s; "*";
    s = s - 1
  End if
Loop Until n / (s + 1) = 1
Print s + 1
End

13 楼

而且
CLS
INPUT n
DO
  FOR i = 2 TO n
    IF n MOD i = 0 THEN PRINT i;: n = n / i: EXIT FOR
  NEXT i
LOOP UNTIL n = 1
END

这样也很简便。

14 楼

我看你回我贴,看你是不生气了。加我到青小编程讨论群吧………………

我来回复

您尚未登录,请登录后再回复。点此登录或注册