回 帖 发 新 帖 刷新版面

主题:分解某个数的所有因子

input "x=";x
if x=0 then 
print "无因子"
End
Else
print SGN(x)
end if
call ((x))
print "=";x
end
sub s(x as integer)
x=ABS(x)
for i=2 to x/2
while x mod i=0
print "*";i
k=k\i
WEND
if x<>1 then print "x";
next i
END SUB
发现好多编程真的是很麻烦啊!有时侯很好理解的数学题,就好多种复杂的编程.
大家讨论一下更简单的方法啊!!对待编程是不是要有很好的头脑啊!数学还是关键啊!
我的变成一直就是弱相啊!!想要学好编程,请多给点意见啊!!!!
怎么学好编程啊!!一直是我的头痛啊!!

回复列表 (共3个回复)

沙发

CLS
INPUT n
FOR i = 1 TO n
IF n MOD i = 0 THEN PRINT i; "----"; : PRINT i; "*"; n / i; "="; n
NEXT
  

板凳

这么老掉牙的题目还问!
DECLARE SUB fj (k!)
DECLARE FUNCTION isprime! (j!)
CLS
INPUT n
CALL fj((n))
END

SUB fj (k)
    PRINT k; "=";
    i = 2
    DO
      IF k MOD i = 0 THEN
         k = k / i
         IF k = 1 THEN PRINT i ELSE PRINT i; "*";
      END IF
      IF k = 1 THEN EXIT SUB
      IF k MOD i <> 0 THEN
         DO
           i = i + 1
         LOOP UNTIL isprime(i) = 1
      END IF
    LOOP
END SUB

FUNCTION isprime (j)
IF j = 1 THEN isprime = 0: EXIT FUNCTION
FOR i = 2 TO INT(SQR(j))
    IF j MOD i = 0 THEN isprime = 0: EXIT FUNCTION
NEXT i
isprime = 1
END FUNCTION

3 楼

好像QB不支持控制台,要不然偶做一个QB的OJ给大家玩玩

我来回复

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