回 帖 发 新 帖 刷新版面

主题:各位大侠,帮个忙?(第九届信息学试题解答)

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,输出为?
有相关书籍上说可以得出通项公式,我思考很长时间,却没有得出,但用模拟法,运算量太大,不是个好的方法.请给出分析的思路,谢谢!

回复列表 (共2个回复)

沙发

请问是哪题
???

板凳

第九届信息学奥林匹克竞赛阅读程序第3题.(目前还没人做出来)

我来回复

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