主题:[讨论]大虾!求救啊!
yukangcool
[专家分:460] 发布于 2005-09-13 17:21:00
自然数拆分
read write
n=2 2=1+1
n=3 3=1+2
3=1+1+1
n=4 4=1+1+1+1
4=1+1+2
4=1+3
4=2+2
题就是这样,大家帮忙出主意啊!
回复列表 (共4个回复)
沙发
nhkxf823 [专家分:0] 发布于 2005-09-15 21:45:00
var
n,i,t,j,k:integer;
a:array[1..100] of integer; '这里我定义了100可以算到100,定义成1000,我想
begin 也是没问题的。
write('n=');read(n);
for k:= 2 to n do
begin
write(k,'=');
for i:=1 to k do
begin
a[i]:=1;
if i<>k then
write(a[i],'+')
else
write(a[i]);
end;
writeln;
t:=k-1;
if t>0 then
begin
for i:=2 to k-1 do
begin
write(k,'=');
for j:=1 to k-i do
write(a[i],'+');
write(i);
writeln;
end;
end;
end;
end.
板凳
nhkxf823 [专家分:0] 发布于 2005-09-15 21:53:00
我的程序可以分为两个板块来看,第一个是n个1相加,第二个则是后面的。如:输入4,第一个模块做的就是:4=1+1+1+1,第二个模块就是:4=1+1+2,4=1+3;
3 楼
天水 [专家分:320] 发布于 2005-09-18 17:33:00
厉……害……啊……
另:
急需pascal奥赛书籍(中学版),各位大哥帮帮忙,有的请回我贴,再联系,或写信给我。我寄钱去时出版社已没货~~!~·!唉!!
邮箱:bad.boy01@126.com
跪谢!
4 楼
xpycc [专家分:410] 发布于 2005-09-18 18:21:00
用递归解决很方便的~~~~~~~~~~~~~
我来回复