作业帮 > 综合 > 作业

任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和. 自然数的拆分问题 用pascal解决

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/18 01:18:26
任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和. 自然数的拆分问题 用pascal解决
var
k:array[1..100]of longint;
n:longint;
procedure print(x:longint);//输出
var
i:longint;
begin
if x=1 then exit;//判断是否存在n=n的情况
write(n,'=');
for i:=1 to x-1 do
write(k[i],'+');
writeln(k[x]);
end;
procedure fly(x,y,num:longint);//回溯搜索
var
i:longint;
begin
if y=0 then begin print(num-1);exit;end;
for i:=x to y do//非递减搜索
begin
if (y=i)or(i
再问: 不对啊
再答: 你要求的输出格式是?
再问: pascal
再答: 对的啊,比如我样例输入7,程序输出 N=7 7=1+6 7=1+1+5 7=1+1+1+4 7=1+1+1+1+3 7=1+1+1+1+1+2 7=1+1+1+1+1+1+1 7=1+1+1+2+2 7=1+1+2+3 7=1+2+4 7=1+2+2+2 7=1+3+3 7=2+5 7=2+2+3 7=3+4 没有问题,我的意思是你要求的答案的输出形式是这样么?7=3+4这种?还是直接3+4?