回 帖 发 新 帖 刷新版面

主题:[讨论]大虾!求救啊!

自然数拆分
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个回复)

沙发

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.

板凳

我的程序可以分为两个板块来看,第一个是n个1相加,第二个则是后面的。如:输入4,第一个模块做的就是:4=1+1+1+1,第二个模块就是:4=1+1+2,4=1+3;

3 楼

厉……害……啊……
另:
     急需pascal奥赛书籍(中学版),各位大哥帮帮忙,有的请回我贴,再联系,或写信给我。我寄钱去时出版社已没货~~!~·!唉!!
        邮箱:bad.boy01@126.com
                                   跪谢!

4 楼

用递归解决很方便的~~~~~~~~~~~~~

我来回复

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