static void Main(string[] args)
{
//
// TODO: 在此处添加代码以启动应用程序
//
int a=10000000,b=0,c=2800000,d=0,e=0,g=0;
int[] f = new int[2800001];
int i = 0;
for(i=0;i<c;i++)
f[i]=a/5;
while(c!=0)
{
d=0;
g=c*2;
b=c;
while(true)
{
d=d+f[b]*a;
g--;
f[b]=d%g;
d=d/g;
g--;
b--;
if(b==0) break;
d=d*b;
}
c=c-14;
Console.Write(e+d/a);
e=d%a;
}
}

解决方案 »

  1.   

    a number(38) := 10000000;
     b number(38) := 0;
     c number(38) := 2800000;
     d number(38) := 0;
     e number(38) := 0;
     g number(38) := 0;
     temp number(38,38) := 0;
     i number(38) :=0;
     TYPE NUMBERArrayTyp IS TABLE OF NUMBER(39) ; 
     f NUMBERArrayTyp;
     begin 
       i := 1;
       f := NUMBERArrayTyp();
       f.extend(c + 1);
       while i < c
       loop 
          f(i) := a/5;
       end loop ;
          
       while c != 0  
       loop
           d := 0;
           g := c * 2;
           b := c;
           while  true
           loop 
              d := d + f(b) * a;
              g := g -1;
              f(b) := mod(d,g);
              d := d/g;
              g := g -1;
              b := b -1;
              if(b=0) then 
                  exit;
              end if;
              d := d * b;
           end loop ;
           c := c-14;
           
           temp := e + d/a;
           dbms_output.put_line(temp);
           e := mod(d,a);
        end loop;
     end;
      

  2.   

    a number(38) := 10000000;
     b number(38) := 0;
     c number(38) := 2800000;
     d number(38) := 0;
     e number(38) := 0;
     g number(38) := 0;
     temp number(38,38) := 0;
     i number(38) :=0;
     TYPE NUMBERArrayTyp IS TABLE OF NUMBER(39) ; 
     f NUMBERArrayTyp;
     begin 
       i := 1;
       f := NUMBERArrayTyp();
       f.extend(c + 1);
       while i < c
       loop 
          f(i) := a/5;
       end loop ;
          
       while c != 0  
       loop
           d := 0;
           g := c * 2;
           b := c;
           while  true
           loop 
              d := d + f(b) * a;
              g := g -1;
              f(b) := mod(d,g);
              d := d/g;
              g := g -1;
              b := b -1;
              if(b=0) then 
                  exit;
              end if;
              d := d * b;
           end loop ;
           c := c-14;
           
           temp := e + d/a;
           dbms_output.put_line(temp);
           e := mod(d,a);
        end loop;
     end;