RQNOJ八月赛

拯救海文星

    一开始写了二分,发现可能爆double,猜到次数高了以后-1附近比较安全,就写了个牛顿迭代,其实开extended,二分也可以A的说。

Code
CONST FileName='';
      delta=0.000001;
      oo=1E308;
var   a:array[0..10000] of longint;
      b:array[0..10000] of int64;
      n,i:longint;
      x1,x2:double;
function f(x:double):double;
         var i:longint;
             temp:double;
         begin
         f:=a[0];temp:=x;
         for i:=1 to n do
           begin
           f:=f+a[i]*temp;
           temp:=temp*x*x;
           end;
         end;
function g(x:double):double;
         var i:longint;
             temp:double;
         begin
         g:=b[1];temp:=x*x;
         for i:=2 to n do
           begin
           g:=g+b[i]*temp;
           temp:=temp*x*x;
           end;
         end;
BEGIN
readln(n);
for i:=0 to n do
  read(a[i]);
for i:=1 to n do
  b[i]:=a[i]*(i<<1-1);
if n=0 then writeln(0)
       else begin
            write('1 ');
            x1:=-1;x2:=-1;
            repeat
              x1:=x2;
              x2:=x1-f(x1)/g(x1);
            until abs(x1-x2)<delta;
            writeln(x2:5:5);
            end;
END.

转载于:https://www.cnblogs.com/lijianlin1995/archive/2012/08/27/2657896.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值