用pl/sql编写一个程序,显示2到100之间的素数?

解决方案 »

  1.   

    declare
    v_int int;
    begin
      for v_i in 2..100 loop
         for v_j in 2..(v_i-1) loop
            v_int := mod(v_i,v_j);
            exit when v_int = 0;
            if v_int<>0 and v_j=(v_i-1) then
               dbms_output.put_line(v_i);
            end if; 
         end loop;
      end loop;
    end;
    /
      

  2.   

    漏了2,加上2的判断。
    declare
    v_int int;
    begin
      for v_i in 2..100 loop
         if v_i = 2 then
            dbms_output.put_line(v_i);
         end if;
         for v_j in 2..(v_i-1) loop
            v_int := mod(v_i,v_j);
            exit when v_int = 0;
            if v_int<>0 and v_j=(v_i-1) then
               dbms_output.put_line(v_i);
            end if; 
         end loop;
      end loop;
    end;
    /