编程题

program noi_004;

    var   i, j, j1, j2,  p, q :  integer;

           p1           :  boolean;

           b,c           :  array[1..100]  of  integer;

    Begin

      readln(q,p);   j:=1;  p1:=true;     b[j]:=q;  j1:=0;

       while  (q>0) and  p1 do

         begin

           j1:=j1+1;  c[j1]:=q*10 div p;  q:=q*10-c[j1]*p;

            if q>0 then  begin 

                           j2:=1;

                           while  (b[j2]<>q) and (j2<=j)  do   j2:=j2+1;

                             if   b[j2]=q   then 

                                begin 

                                  p1:=false;  write('0.');

                                  for i:=1 to j2-1 do    write(c[i]:1);

                                  write('{');

                                  for i:=j2 to j1 do   write(c[i]:1);

                                  writeln('}')

                                end

                    else   begin   j:=j+1;  b[j]:=q   end

               end

        end;

      if  q=0  then   begin

                       write('0.');

                       for i:=1 to j1 do   write(c[i]:1);

                       writeln

                     end;     readln

 End.

输入  ① 1   8    输出          

输入   ② 2   7    输出

查看答案
赣ICP备20007335号-2