zoukankan      html  css  js  c++  java
  • PL/SQL 查找1-100之间的素数

    --实现查找1-100之间的素数
    declare
      v_no     number := 0; --标记是第几个素数
      v_number number; --表示1-100之间的数
      v_num    number;
    begin
      for v_number in 1 .. 100 loop
        --如果整除,那就不是素数,除数+1,;
        --如果不能整除,那么被除数就+1,继续执行除运算
        v_num := ceil(v_number / 2);
        for i in 2 .. v_num loop
          if mod(v_number, i) = 0 then
            exit;
          elsif i > v_num - 1 then
            v_no := v_no + 1;
            dbms_output.put_line('' || v_no || '个素数是:' || v_number);
          end if;
        end loop;
      end loop;
    end;
    
    /*求1到100之间的素数*/
    declare
      v_m number := 2; --初始值
      v_i number;
      v_n number := 0;
    begin
      while v_m < 100 loop
        v_i := 2; --除数
        loop
          if mod(v_m, v_i) = 0 then
            v_i := 0;
            exit; --表示退出循环
          end if;
          v_i := v_i + 1;
          exit when v_i > v_m - 1;
        end loop;
        if v_i > 0 then
          v_n := v_n + 1;
          dbms_output.put_line('' || v_n || '个素数是:' || v_m);
        end if;
        v_m := v_m + 1;
      end loop;
    end;

    1不是素数!!!一开始我以为是素数。。。

  • 相关阅读:
    Linux密码文件介绍
    MongoDB与微服务
    MongoDB应用场景及选型
    MongoDB性能诊断工具
    1.7每日进度
    《架构即未来》(3)
    《架构即未来》(2)
    论面向服务架构设计
    浅谈MVC设计模式
    《架构即未来》(1)
  • 原文地址:https://www.cnblogs.com/miaoying/p/5810944.html
Copyright © 2011-2022 走看看