回 帖 发 新 帖 刷新版面

主题:[原创]帮帮忙!老兄!

楼主     
一个正整数(非素数)可以表示它的因子(1与他本身除外)的乘积.例如:24有因子2,3,4,6,8,12所以可表示为:24=2*12=3*8=4*6=2*2*2*3=2*4*3=2*2*6.给出一个正整数N,求出它所有的因子乘积的表达式(交换率得出的不同式子是同一种)(不是分解质因数).

回复列表 (共3个回复)

沙发

这是不是小学的题目?
是不是叫做分解质因子之类什么的?
先找一个数组来保存一下素数
(个数嘛,以不大于你所求的合数为限或者可预见的范围也行)
怎样求素数表这个问题应该很多人都有很多很好的办法了,就不多说了。

defint a-z
function zz$(a)
static maxss,ss()
if maxss=0 then
    maxss=100  '假设为100个质数吧
    redim ss(maxss)

    def seg=varseg(ss(0))
    bload "素数表",varptr(ss(0)) '假定你已把素数数组用bsave存进“素数表”的文件里
    def seg
end if

do
for i=0 to maxss '从0开始还是从1开始得看你存的时候是怎样存的
  select case ss(i)
  case a
    znz$=znz$+str$(a)  'str$函数会自动在前面加一个空格的
    exit do
  case is > a  '如果a是大于2还会出现这种情况的话,那么我也不知道怎么办了。
  exit do
  case is < a  '你喜欢用 case else 我也没办法
    if a mod ss(i)=0 then
       znz$=znz$+str$(ss(i))
       a=a\ss(i)
       exit for
    end if
  end select       
next
loop until a<2 '这个条件是不是拿来做样子的?
zz$=znz$
end function

最后致歉一下,
因为我也提倡别人先测试过再拿上来说,
否则害人不浅
但我又不方便换一台DOS来编辑,
只好凭空想像了,
其中会有不少函数语句搞错了也说不定,
只好请多多原谅了。

板凳

[em1][em1][em1][em1][em1][em1][em1][em1][em1][em1][em1][em1][em1][em1][em1][em1][em1][em1][em1][em1][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em2][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em10][em10][em10][em10][em10][em10][em10][em18][em18][em18][em18][em18][em18][em18][em18][em18][em18][em18][em18][em19][em19][em19][em19][em19][em19][em19][em19][em19][em19][em19][em19][em19][em19][em19][em20][em20][em20][em20][em20][em20][em20][em20][em20][em20][em20][em20][em20][em20][em20][em20][em20][em20][em20][em8][em8][em8][em8][em8][em8]

3 楼

[em4][em4][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em6][em7][em7][em7][em7][em7][em7][em7][em7][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em9][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em10][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em12][em13][em13][em13][em13][em13][em13][em13][em13][em13][em13][em13][em13][em14][em14][em14][em14][em14][em14][em14][em14][em14][em14][em14][em14][em14][em14][em14][em14][em41][em41][em41][em41][em70][em70][em70][em70][em70][em70][em70][em70][em70][em70][em70][em70][em70][em70][em70][em70][em70][em70][em70][em45][em45][em45][em45][em45][em45][em45][em45][em45][em45][em45][em45][em45][em45][em45][em45][em45][em45][em45][em45][em45][em45][em72][em72][em72][em72][em72][em72][em72][em72][em72][em72][em72][em72][em72][em72][em72][em72][em72][em72][em72][em42][em42]

我来回复

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