1055.pas

来自「平时acm训练时ac的源代码」· PAS 代码 · 共 33 行

PAS
33
字号
program Combinations (input, output);
  var d : array [1.. 50000] of integer;
      lN, lM, lI, lJ, lK : longint;
  begin
    fillchar (d, sizeof (d), 0);
    readln (lN, lM);
    for lI := lM + 1 to lN do
      begin
        lK := lI;
        for lJ := 2 to trunc (sqrt (lK)) do
          while lK mod lJ = 0 do
            begin
              inc (d [lJ]);
              lK := lK div lJ;
            end;
        if lK <> 1 then inc (d [lK]);
      end;
    for lI := 1 to lN - lM do
      begin
        lK := lI;
        for lJ := 2 to trunc (sqrt (lK)) do
          while lK mod lJ = 0 do
            begin
              dec (d [lJ]);
              lK := lK div lJ;
            end;
        if lK <> 1 then dec (d [lK]);
      end;
    lK := 0;
    for lI := 2 to lN do
      if d [lI] > 0 then inc (lK);
    writeln (lK);
  end.

⌨️ 快捷键说明

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