回 帖 发 新 帖 刷新版面

主题:帮帮忙

有一个正整数(非素数)可以表示成它的因子(1与它本身除外)的乘积。例如:12有2,3,4,6,所以可表示为:12=2*2*3=4*3=2*6。给出任一个正整数N,求出它所有的因子乘积的表达式(交换律得出的不同式子算是同一种)。
教一下带分析
[em10]

回复列表 (共1个回复)

沙发

1. 分解质因数 (得第一条最长的式子)
2. 轮流组合不同的因子,得不同的式子.

第二种办法:
fen 2,12,"="
sub fen(a,b,s$)
for i=a to b
  if b mod i=0 then if b/i=1 then print s$;i else fen i,b/i,s$+str$(i)+"*"
next
end function

我来回复

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