注册 登录
编程论坛 新人交流区

[求助]如何输出某个自然数加法分解组合

源堂法雷尔 发布于 2007-11-06 22:27, 812 次点击
要求程序接受一个自然数,输出其所有的加法分解组合。以3为例:


输入:4
输出:
4=1+1+1+1
4=2+1+1
4=2+2
4=3+1

(输出的顺序无所谓,关键是不重复,不遗漏)

关键是算法(希望巧妙),有代码更好
4 回复
#2
源堂法雷尔2007-11-08 12:22

为何无人回复 啊???顶起来

#3
ych11132007-11-11 00:13
dim i ,a as integer
text2.text=text1.text+" "
a=val(text1.text)
b=a
for i=2 to b
while a mod =0
text2.tex=text2.text+trim(str(i)+"*"
a=a/i
wend
if a=1 then exit for
next i
text2.text=left(text2.text,len(text2.text)-1)
#4
ych11132007-11-11 00:14
dim i ,a as integer
text2.text=text1.text+"="
a=val(text1.text)
b=a
for i=2 to b
while a mod i=0
text2.text=text2.text+trim(str(i))+"*"
a=a/i
wend
if a=1 then exit for
next i
text2.text=left(text2.text,len(text2.text)-1)
#5
高手寂寞2007-11-11 08:45
不会
1