回 帖 发 新 帖 刷新版面

主题:因数个数

键盘输入一个整数(1<A<100000),打印出它的的全部因数(不包括1和本身),并统计这些因数相应的个数。
如:输入:48
输出:2  3   4   6    8    12    16    24 
         4  1   2   1     1    1     1     1   

回复列表 (共4个回复)

沙发

CLS
DO
INPUT n
LOOP UNTIL n > 1 AND a < 100000
DIM a(n), b(n)
FOR i = 2 TO n - 1
IF n MOD i = 0 THEN k = k + 1: a(k) = i: PRINT USING "###"; a(k);
NEXT
PRINT
FOR i = 1 TO k
x = n
DO WHILE x MOD a(i) = 0
x = x / a(i)
b(i) = b(i) + 1
LOOP
NEXT
FOR i = 1 TO k
PRINT USING "###"; b(i);
NEXT
END

板凳

dim a[1000],b[1000]  '假设1000足够大
input n
temp=0
for i = 2 to int(n/2)
k=n:count=0
if(k/i=k\i) then
while (k\i=k/i)
temp=temp+1:k=k/i:count=count+1
wend
a[temp]=i:b[temp]=count
end if
next
for i = 1 to temp
? a[i];"  ";b[i],
next
end

3 楼

CLS
DIM a(10000)
INPUT n:s=0
FOR i=2 TO INT(n/2)
    IF n MOD i=0 THEN s=s+1:a(s)=i
NEXT i
FOR i=1 TO s
    gs=0
    DO
      gs=gs+1
    LOOP UNTIL n MOD a(i)^gs<>0
    PRINT "因数";a(i);"共有";gs-1;"个",
NEXT i
END

4 楼

cls
input n
for i=2 to n-1
if n mod i=0 then ? i;s=s+1
next
? s;

我来回复

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