回 帖 发 新 帖 刷新版面

主题:[讨论]紧急求助:noip2003提高组程序阅读第三题

Program  program3; 
   var  m,n: integer;   mark:boolean;
   function  test(m,N: integer): integer;
var i,p:integer;   flag:boolean;
begin
  m:=m-1;  i:=0;  flag:=false;
  for p:=2*N  downto (N+1)  do
  begin
    i:=(i+m)  mod  p;
    if (i<N)  then
      begin
        test:=0;  flag:=true;  break;
      end
  end;
  if  not(flag)  then  test:=1;
end;
   begin
read(n);  m:=1;  mark:=false;
repeat 
  if  (test(m,n)=1)  then
    begin  writeln(m);  break;   end;
  m:=m+1;
until  mark;
end.
输入:7,输出为?
输出的结果是1872
 我只知道: x mod 14=y1;  (x+y1) mod 13=y2; (x+y2) mod 12=y3……
     (x+y6)mod 8=y7,且 y1,y2,……y6>=7,y7=7。接下来,就无从下手了。请求各位高手帮忙解答。

回复列表 (共1个回复)

沙发

哪位高手能帮我解决这一道题吗?急啊!!!!谢谢了!!!!

我来回复

您尚未登录,请登录后再回复。点此登录或注册