点我顶贴
				收藏
                删除
			
			AC程序如下....
var
  s,n,m,a,k:int64;
begin
  readln(n);
  k:=2*n+1;
  a:=2;
  s:=1;
  while a<>1 do
    begin
      a:=a*2;
      s:=s+1;
      if a>k then
        a:=a-k;
    end;
  write(s);
end.    
 
		 
     
   
    
    
	
		
		
			
			
                2012
                回复
                删除
            
			是不是
trunc(log  (2n+1)-1  ?
          2
 
		 
     
   
    
    
	
		
		
			
			
                2139
                回复
                删除
            
			同意
我写的跟LZ差不多
var i,j,m,n:longint;
procedure try;
var j:longint;
begin
  i:=2*I;
  IF I > 2*N THEN
   BEGIN
   I:=I DIV 2;
   I:=I - (2*N-I+1);
   END;
end;
begin
 readln(n);
 M:=0;  
 I:=1;
 repeat
  try;
  inc(m);
 until I=1;
 writeln(m);
end.
 
		 
     
   
    
     
  查看更多回复
  
  
  
    
      
      
        
          拥有 RQNOJ 账号,您可以:
          
            - 查看海量题库,并提交您的代码
 
            - 参加比赛,证明实力
 
            - 与大家讨论,解答疑问,分享心得
 
          
          
         
        
       
   
   
  提交回复