社区讨论

哪里错了?为什么只有50分?

P1067[NOIP 2009 普及组] 多项式输出参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mi4f0kws
此快照首次捕获于
2025/11/18 18:12
4 个月前
此快照最后确认于
2025/11/18 18:12
4 个月前
查看原帖
下面是代码。
CPP
var n,i:longint;
    a:array[1..1000]of longint;
begin
  readln(n);
  for i:=1 to n+1 do read(a[i]);
  for i:=1 to n+1 do if a[i]<>0 then 
    begin
      if i=n+1 then begin
                      if a[i]>0 then write('+',a[i])
                                else write('-',abs(a[i]));
                      halt;
                    end;
      if i=1 then begin
                    if a[i]>0 then if a[i]=1 then write('x^',n)
                                             else write(a[i],'x^',n)
                              else if a[i]=-1 then write('-x^',n)
                                              else write(a[i],'x^',n);
                  end
             else 
             case a[i]>0 of 
               true:begin if a[i]>1 then write('+',a[i],'x^',n-i+1)
                                    else write('+x^',n-i+1);
                    end;
               false:begin if a[i]<-1 then write('-',abs(a[i]),'x^',n-i+1)
                                      else write('-x^',n-i+1);
                     end;
             end;
    end;
  readln;
end.

回复

1 条回复,欢迎继续交流。

正在加载回复...