1 条题解

  • 0
    @ 2021-6-15 10:13:27

    Pascal :

    var  yes:boolean;
         x:int64;
         i,j,t,n,m:longint;
         a:array[1..100000] of longint;  //存储质数
    begin
      readln(n,m);  //求n到m直接的所有质数
      t:=0;
      for i:=n to m do
       begin
         yes:=true;   //先认为当前的i是一个质数
         for j:=2 to trunc(sqrt(i)) do   //在2 到根号i之间判断是不是存在一个数能整除i
           if i mod j=0 then   // 若i能被j整数,说明i不是一个质数
             begin
              yes:=false;   //标记不是质数
              break;         //退出当前的循环
             end;
          if yes=true then begin t:=t+1;a[t]:=i; end;   //用t统计质数的个数,并将当前的质数保存到数组
       end;
       writeln(t);  //输出质数的总个数
       for i:=1 to t do  //输出所有的质数
        begin
          write(a[i],' ');
          if i mod 10=0 then writeln; //每10个换行
        end;
    
    end.
    
    
    • 1

    信息

    ID
    458
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者