主题:帮帮忙
超大问号
[专家分:60] 发布于 2006-12-02 19:48:00
有一个正整数(非素数)可以表示成它的因子(1与它本身除外)的乘积。例如:12有2,3,4,6,所以可表示为:12=2*2*3=4*3=2*6。给出任一个正整数N,求出它所有的因子乘积的表达式(交换律得出的不同式子算是同一种)。
教一下带分析
[em10]
回复列表 (共1个回复)
沙发
moz [专家分:37620] 发布于 2006-12-02 20:15:00
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
我来回复