比赛 20100913 评测结果 AAAAAAAAAA
题目名称 连续素数和 最终得分 100
用户昵称 苏轼 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2010-09-13 20:12:27
显示代码纯文本
program conprime(input,output);

var
  i,j,k,sum,n:longint;
  p:array[1..5000]of longint;
  dym:array[1..10000]of longint;

function makeprime:longint;
  var
    i,j,k:longint;
    boo:boolean;
  begin
    p[1]:=2;
    k:=1;

    for i:=3 to 10000 do
    begin
      boo:=true;

      for j:=2 to trunc(sqrt(i)) do
        if i mod j=0 then
        begin
          boo:=false;
          break;
        end;

      if boo then
      begin
        inc(k);
        p[k]:=i;
      end;
    end;

    p[k+1]:=maxlongint;
    exit(k);
  end;

begin
  assign(input,'conprime.in');
  reset(input);

  assign(output,'conprime.out');
  rewrite(output);

  n:=makeprime;

  for i:=1 to n do
    for j:=i to n do
    begin
      sum:=0;

      for k:=i to j do
        sum:=sum+p[k];

      if sum>10000 then
        break;

      inc(dym[sum]);
    end;

  read(n);
  while n<>0 do
  begin
    writeln(dym[n]);
    read(n);
  end;

  close(input);
  close(output);
end.