新手村之BOSS战-入门综合练习2

P1426 小鱼会有危险吗
总:三个字——暴力。

var
  s,x,ans,n:real;
begin
  readln(s,x);
  ans:=0; n:=7;
  while ans<s-x do
    begin
      ans:=ans+n;
      n:=n*0.98;
    end;
  ans:=ans+n;
  if ans>s+x then write('n')
             else write('y');
end.

P1464 Function
总:可以神搜,可以递推。这是第二种。

var
  a,b,c,i,j,k:longint;
 f:array[0..20,0..20,0..20] of longint;
begin
  readln(a,b,c);
  while (a<>-1) or (b<>-1) or (c<>-1) do
    begin
      fillchar(f,sizeof(f),0);
      write('w(',a,', ',b,', ',c,') = ');
      if ((a>20) or (b>20) or (c>20)) and not ((a<=0) or (b<=0) or (c<=0)) then
        begin
          a:=20; b:=20; c:=20;
        end;
    if (a<=0) or (b<=0) or (c<=0) then writeln(1) else
      begin
        for i:=0 to a do
          for j:=0 to b do
            for k:=0 to c do
              if (i=0) or (j=0) or (k=0) then f[i,j,k]:=1 else
                if (i<j) and (j<k) then f[i,j,k]:=f[i,j,k-1]+f[i,j-1,k-1]-f[i,j-1,k]
                                   else f[i,j,k]:=f[i-1,j,k]+f[i-1,j-1,k]+f[i-1,j,k-1]-f[i-1,j-1,k-1];
        writeln(f[a,b,c]);
      end;
    readln(a,b,c);
  end;
end.

P1014 Cantor表
总:O(1)。

var
  i,n,s:longint;
begin
  readln(n);
  i:=trunc((sqrt(1+8*n)-1)/2);
  s:=i*(i+1) div 2;
  if n=s then s:=s-i
         else inc(i);
  if i mod 2=1 then write(i+1-n+s,'/',n-s)
               else write(n-s,'/',i+1-n+s);
end.
原文地址:https://www.cnblogs.com/zyx-crying/p/9319521.html