回 帖 发 新 帖 刷新版面

主题:请教一个完全数程序问题?

declare function fun( j as integer ) as integer
dim as integer j,l
dim shared as integer k,p,a(20),i
for j=10 to 1000
'a(1)=1
l= fun(j)
if j=l then print j
next j
sleep

function fun( j as integer) as integer
 k=0
 p=1
for i=2 to j\2
    while ((j mod i)=0)
        k=k+1
       a(k)=i
        j=j/i
       p=p+a(k)         
    wend      
next i
return p
end function
这个程序运行后没有结果???

回复列表 (共3个回复)

沙发


请问错在什么地方呀?

板凳

没有仔细看完全数是什么的情况下写的程序
错误太多了.谅解(大家)

3 楼

将P=2,3,5,7,13分别代入以下公式,即可得到前5个完全数

2^(P-1)*(2^P-1)

QB程序:

  DEF FnP& (p) = 2 ^ (p - 1) * (2 ^ p - 1)
  PRINT FnP&(2)
  PRINT FnP&(3)
  PRINT FnP&(5)
  PRINT FnP&(7)
  PRINT FnP&(13)

我来回复

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