sprime.pas

来自「Magio牛的usaco源代码」· PAS 代码 · 共 54 行

PAS
54
字号
{
ID:maigoak1
PROG:sprime
}

program sprime;
const
  maxdigit=8;
var
  fin,fout:text;
  digit:integer;
  s:array[1..maxdigit]of integer;
procedure search(l:integer);
  var
    i,j:integer;
    n:longint;
    prime:boolean;
  begin
    for i:=1 to 4 do begin
      case i of
        1:s[l]:=1;
        2:s[l]:=3;
        3:s[l]:=7;
        4:s[l]:=9;
      end;
      n:=s[1];
      for j:=2 to l do
        n:=n*10+s[j];
      prime:=true;
      for j:=2 to trunc(sqrt(n)) do
        if n mod j=0 then begin
          prime:=false;
          break;
        end;
      if prime then if l<digit then search(l+1) else writeln(fout,n);
    end;
  end;
begin
  assign(fin,'sprime.in');
  reset(fin);
  readln(fin,digit);
  close(fin);

  assign(fout,'sprime.out');
  rewrite(fout);

  s[1]:=2;search(2);
  s[1]:=3;search(2);
  s[1]:=5;search(2);
  s[1]:=7;search(2);

  close(fout);
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?